Accessibility report

www.w3.org · 29 August 2026

Site
https://www.w3.org/
Date
2026-08-29
Standard
WCAG 2.1 level AA (EN 301 549 / European Accessibility Act)
Scope
20 pages, automated check

This report does not say you are compliant. No automated tool can honestly say that. Automated checks find roughly a third of accessibility barriers; the rest need a human, and some need a person who actually uses a screen reader. What follows is what a machine could prove, on the date above. Treat it as a starting list, not a clean bill of health.

Summary

These 7 issue types affect 230 elements on 4 of the 20 pages scanned. Element count is not a measure of work: a single rule in a shared stylesheet or template can account for hundreds of them.

Since the last scan

Compared with 2026-08-24. “No longer detected” is not the same as “fixed” — an element can disappear because a page changed, or because it only shows under conditions this scan did not reach.

These two scans did not run from the same place. Sites can serve different content depending on where the request comes from — region redirects, cookie banners, A/B tests. Some of the differences below may reflect that, not a change to the site.

The set of pages scanned changed since last time (15 added, 0 no longer reached). Some of the differences below may reflect that, not a change to the site.

3 issue types unchanged.

What to fix first

Ordered by severity, then by how many elements are affected. An issue on many pages is usually one fix in a shared template. Each one carries its axe-core rule id, so you can look the rule up and check our count against your own.

1 Images must have alternative text

CRITICALimage-alt 34 elements on 2 pages

<img src="./img/border_left_top.gif" width="10px" height="10px">

Example — 1 of 34 affected elements.

Where they are — first 25 of 34

How to fix this →

2 ARIA attributes must conform to valid names

CRITICALaria-valid-attr 18 elements on 1 page

<span aria-labelledby="Authorized Translation" aria-role="img"> Authorized</span>

Example — 1 of 18 affected elements.

Where they are

How to fix this →

3 Select element must have an accessible name

CRITICALselect-name 1 element on 1 page

<select onchange="location.href = this.value;">

The affected element.

Where it is

How to fix this →

4 Links must have discernible text

SERIOUSlink-name 173 elements on 2 pages

<a href="javascript:location.href='home.html';" onfocus="blur();"><img name="nav_home" src="./img/nav_home.gif" width="88" height="27" hspace="15" border="0px"></a>

Example — 1 of 173 affected elements.

Where they are — first 25 of 173

How to fix this →

5 Elements must meet minimum color contrast ratio thresholds

SERIOUScolor-contrast 2 elements on 1 page

<b>Free Penguins</b>

Example — 1 of 2 affected elements.

Where they are

How to fix this →

6 <html> element must have a lang attribute

SERIOUShtml-has-lang 1 element on 1 page

<html>

The affected element.

Where it is

How to fix this →

7 Frames must have an accessible name

SERIOUSframe-title 1 element on 1 page

<iframe src="https://www.youtube-nocookie.com/embed/y8tEWtxd8uw?feature=oembed"></iframe>

The affected element.

Where it is

How to fix this →

Needs review

On 282 elements the check stopped short of a verdict. These are not counted in the numbers above — and they are not cleared either. A rule lands here when it can see something worth questioning but cannot settle it without a person: the element carries its own text, or its meaning depends on context a machine does not have.

This is also the usual reason a count here differs from what you get by searching your own source for the same pattern. Counts are per rule, and a rule weighs conditions the pattern alone does not capture — an element’s own text, its role, its ancestors. If a number looks off by a few, check it against the rule id rather than against the description.

Pages

Pages ordered by how many elements are affected. A page can have few issue types but many affected elements, or the reverse.
ElementsTypes Page
1842https://www.w3.org/Translations/
445https://www.w3.org/WAI/demos/bad/before/home.html
11https://www.w3.org/ja/
11https://www.w3.org/membership/
00https://www.w3.org/
00https://www.w3.org/WAI/
00https://www.w3.org/WAI/demos/bad/Overview.html
00https://www.w3.org/WAI/demos/bad/before/reports/home.html
00https://www.w3.org/zh-hans/
00https://www.w3.org/standards/
00https://www.w3.org/standards/about/
00https://www.w3.org/TR/
00https://www.w3.org/standards/types/
00https://www.w3.org/groups/
00https://www.w3.org/standards/review/
00https://www.w3.org/get-involved/promote/
00https://www.w3.org/liaisons/
00https://www.w3.org/groups/other/tag/
00https://www.w3.org/get-involved/
00https://www.w3.org/ecosystems/