Canadian Web Accessibility League

Betaby Bayhan Technologies

Alberta Municipal Websites

Independent automated accessibility testing of municipal websites, ranked by health score (0–100). Every municipality is tested the same way, with the same tools, at a respectful crawl rate — see the full methodology. Higher scores mean fewer machine-detectable barriers for residents who use assistive technology.

RankMunicipalityScoreCriticalSeriousPages testedLast tested
1Town of Vulcan
townofvulcan.ca
99.62429373August 17, 2026
1Village of Stirling
stirling.ca
99.667881037August 16, 2026
3Town of Bow Island
bowisland.com
99.21655215August 17, 2026
4Town of St. Paul
stpaul.ca
99880234August 18, 2026
5Town of Millet
millet.ca
98.8888149August 17, 2026
6Town of Gibbons
gibbons.ca
983790164August 17, 2026
6Town of Peace River
peaceriver.ca
981007931586August 17, 2026
8Town of Bon Accord
bonaccord.ca
97.8165431206August 17, 2026
9Town of Cardston
cardston.ca
97.760496326August 17, 2026
9Town of Edson
edson.ca
97.774985255August 19, 2026
11City of Leduc
leduc.ca
97.6344405635August 12, 2026
12Town of Claresholm
claresholm.ca
97.426747199August 17, 2026
13Town of Ponoka
ponoka.ca
97.319661517August 19, 2026
14City of Fort Saskatchewan
fortsask.ca
96.760558581August 15, 2026
15Town of Beaverlodge
beaverlodge.ca
96.611166510August 17, 2026
16Town of Nanton
nanton.ca
96.564565459August 17, 2026
17Town of Cochrane
cochrane.ca
96.41578331148August 13, 2026
18Town of Morinville
morinville.ca
96.237355372August 19, 2026
19City of St. Albert
stalbert.ca
95.3233345292614August 15, 2026
20Town of Coalhurst
coalhurst.ca
94.816441384August 17, 2026
21Town of Sexsmith
sexsmith.ca
94.7251132920August 17, 2026
22City of Beaumont
beaumont.ab.ca
94.51520189661August 12, 2026
23Town of Manning
manning.ca
94010344August 16, 2026
23Town of Wainwright
wainwright.ca
945145105August 19, 2026
25City of Cold Lake
coldlake.com
93.3211013369August 19, 2026
26Town of Coaldale
coaldale.ca
93.11021341723August 19, 2026
27Town of Swan Hills
townofswanhills.com
938696323August 16, 2026
28City of Airdrie
airdrie.ca
91.8771024589August 12, 2026
29Town of Fort Macleod
fortmacleod.com
91.449857167August 17, 2026
30Town of Vermilion
vermilion.ca
91.223383646August 17, 2026
31City of Grande Prairie
cityofgp.com
91135201413954August 16, 2026
32Town of Canmore
canmore.ca
90.4608133528August 19, 2026
33Town of Whitecourt
whitecourt.ca
89.887399118August 19, 2026
34Town of Two Hills
townoftwohills.com
89.76123091August 16, 2026
35Town of Hinton
hinton.ca
89.51000154732876August 19, 2026
36Town of Fox Creek
foxcreek.ca
89.4653351150August 17, 2026
37Town of Magrath
magrath.ca
89.3608848813August 17, 2026
38Town of Stony Plain
stonyplain.com
89.18153111697August 18, 2026
39Town of Raymond
raymond.ca
88.980823871633August 17, 2026
40Town of Mayerthorpe
mayerthorpe.ca
88.81216766August 16, 2026
41Town of Sylvan Lake
sylvanlake.ca
88.723873112507August 18, 2026
42Town of Westlock
westlock.ca
88.6351131401August 17, 2026
43Town of Strathmore
strathmore.ca
88.3211837453August 19, 2026
44Town of Diamond Valley
diamondvalley.town
87.993190701708August 19, 2026
45Town of Grimshaw
grimshaw.ca
87.2147829001974August 17, 2026
46Town of Devon
devon.ca
86.9147184923017August 19, 2026
47Town of Rimbey
rimbey.com
86.53164171August 17, 2026
48City of Lacombe
lacombe.ca
86.25533500612August 19, 2026
49Town of High Level
highlevel.ca
86.14063872834August 17, 2026
50Town of Elk Point
elkpoint.ca
85.7105584178August 16, 2026
51City of Wetaskiwin
wetaskiwin.ca
85.2152116312August 19, 2026
52Town of Picture Butte
picturebutte.ca
85145377170August 17, 2026
53Town of Okotoks
okotoks.ca
84.7221329251760August 13, 2026
54Town of Redcliff
redcliff.ca
84.21411148561394August 18, 2026
55Town of Vegreville
vegreville.com
84863126680August 17, 2026
56Town of Irricana
townofirricana.ca
82.9278465660August 16, 2026
57Town of Lamont
lamont.ca
82.31416701518August 16, 2026
58Town of Innisfail
innisfail.ca
82.246150101645August 19, 2026
59Town of Legal
legal.ca
81.718141297August 16, 2026
59Town of Slave Lake
slavelake.ca
81.73072269354August 19, 2026
61Town of Hanna
hanna.ca
81.29604307560August 17, 2026
62Town of Valleyview
valleyview.ca
80.634716363748August 16, 2026
63City of Spruce Grove
sprucegrove.org
80.21186932774August 15, 2026
64City of Brooks
brooks.ca
78.75633033352August 19, 2026
65Municipality of Crowsnest Pass
crowsnestpass.com
77.812091255276August 17, 2026
66Town of Bonnyville
town.bonnyville.ab.ca
77.3513104011055August 19, 2026
67Town of Bassano
bassano.ca
771802138173August 16, 2026
68Town of Provost
provost.ca
73.65901600335August 17, 2026
69Town of Calmar
calmar.ca
72.428313383920August 17, 2026
70City of Red Deer
reddeer.ca
71.42892071763990August 15, 2026
71Town of Drumheller
drumheller.ca
68.65662376857August 19, 2026
72Village of Alberta Beach
albertabeach.com
66.80202075August 16, 2026
73Town of High River
highriver.ca
64.8482716906871August 19, 2026
74Town of Redwater
redwater.ca
63.188374358August 17, 2026
75Town of Stettler
stettler.net
61.31507344132August 18, 2026
76Town of Drayton Valley
draytonvalley.ca
61.15237983266August 19, 2026
77Town of Three Hills
threehills.ca
59.6176969386August 17, 2026
78Village of Nobleford
nobleford.ca
59.386425445August 17, 2026
79Town of High Prairie
highprairie.ca
58.3190884687August 17, 2026
80Town of Wembley
wembley.ca
53.5184975586August 17, 2026
81Town of Sundre
sundre.com
53226548881August 17, 2026
82Town of Bowden
bowden.ca
51.527161432120August 16, 2026
83Town of Carstairs
carstairs.ca
50.81497244890August 17, 2026
84Town of Barrhead
barrhead.ca
502375144093August 17, 2026
85Municipality of Jasper
jasper-alberta.ca
47.55102995190August 17, 2026
86Town of Crossfield
crossfieldalberta.com
47.11514128672August 17, 2026
87Town of Athabasca
athabasca.ca
46.7265313893August 16, 2026
88Town of Penhold
townofpenhold.ca
44.933241106137August 17, 2026
89Town of Didsbury
didsbury.ca
372415102394August 17, 2026
90Town of Rocky Mountain House
rockymtnhouse.com
3237797507163August 19, 2026

Critical / serious columns count individual instances of WCAG 2.2 A/AA issues detected by automated testing, excluding issues inside embedded third-party content. Sample sizes differ (up to full-site coverage); scores are averages per page tested, so they remain comparable across sample sizes.

Insufficient data — not ranked

We publish a score only when a clean, reliable test sample was completed. These municipalities could not be reliably tested — this says nothing about how accessible their websites are.

City of CamroseThe site's security system blocked automated testing; no reliable sample could be completed. Blocking automated tools says nothing about a site's accessibility.
City of LethbridgeA portion of test requests was blocked by the site's security system; a reliable sample could not be completed. We will retest at a gentler rate.
City of Medicine HatA portion of test requests was blocked by the site's security system; a reliable sample could not be completed. We will retest at a gentler rate.
Town of FairviewA portion of test requests failed during scanning; a reliable sample could not be completed. We will retest at a gentler rate.
Town of Pincher CreekThe site's security system blocked automated testing; no reliable sample could be completed. Blocking automated tools is a legitimate security choice and implies nothing about the site's accessibility.
Town of TofieldA portion of test requests failed during scanning; a reliable sample could not be completed. We will retest at a gentler rate.
Town of VauxhallA large portion of test requests failed during scanning; a reliable sample could not be completed. We will retest at a gentler rate.

What these scores are — and are not. Automated tools can test roughly a third of WCAG 2.2 success criteria. A high score means few machine-detectable barriers; it is not a WCAG conformance claim, and a lower score is not a finding of legal non-compliance. Scores are our opinion, produced by our software, from published methodology anyone can review.