Home / Blog / WebAIM WAVE Accessibility Checker: False Positives Checked
Site Audit

WebAIM WAVE Accessibility Checker: False Positives Checked

25 October 2026 · By John Carlsson
WAVE, the free accessibility tool from WebAIM, found 0 errors and 0 contrast errors on the aiwebpageseo.com home page, with an AIM score of 9.7 out of 10, and raised 18 alerts. We checked each against the live code. The duplicate logo alt text alert was a false positive, because the stylesheet always hides one of the two logos. The 15 missing fieldset alerts and the redundant link alert were fair advice but not WCAG failures, and the redundant title text alert was accurate and harmless. Our Accessibility Audit scored the same page 100/100 against WCAG 2.2.

What happened

On 25 October 2026 we ran WAVE, the free web accessibility evaluation tool from WebAIM at Utah State University, on the aiwebpageseo.com home page. Its result: 0 errors, 0 contrast errors, 18 alerts, and an AIM score of 9.7 out of 10.

On the same day our own Accessibility Audit scored the same page 100/100: 25 checks passed, 0 errors and 0 warnings, against WCAG 2.2.

WAVE does not call its alerts failures. It describes them as things to look at. We checked all 18 against the live page's code. One was a false positive, three were fair advice, and none was a WCAG failure. This post goes through them with the code.

The short version

False positive: "A nearby image has the same alternative text"

What WAVE said. One alert on the site logo, which appears twice in the page code with the same alternative text:

<img class="bk-logo-img bk-logo-l" src="/images/aiwebpageseo-logo.png" width="166" height="40" alt="AIWebPageSEO">
<img class="bk-logo-img bk-logo-d" src="/images/aiwebpageseo-logo-white.png" width="166" height="40" alt="AIWebPageSEO">

What the page does. One logo is for the light colour scheme and one, in white, is for the dark scheme. The stylesheet shows only one at a time:

.bk-logo-d{display:none}
[data-theme='dark'] .bk-logo-l{display:none}
[data-theme='dark'] .bk-logo-d{display:block}

An element with display:none is removed from what screen readers get, so a screen reader user hears "AIWebPageSEO" once, never twice. WAVE's alert exists to catch the same text being read out twice in a row. That does not happen here. WAVE cannot know which logo the visitor's theme will show, so it flags both, which is reasonable for an alert, but on this page it is a false positive.

What the rule says. WCAG 2.2 success criterion 1.1.1 Non-text Content (Level A) asks for a text alternative for each image that is presented to the user. Content hidden with display:none is not presented, and browsers leave it out of the accessibility tree that screen readers read, as the W3C's HTML Accessibility API Mappings describe.

Expected: the visible logo has meaningful alt text. It does.

Who complies. Our page complies. The repeated text is never read out twice.

Fair advice: "Missing fieldset" (15 alerts)

What WAVE said. 15 alerts, one for each group of radio buttons without a <fieldset>.

What the page has. Each audit card on the home page has a switch between a Plain English and a Technical explanation. That is 15 pairs, 30 radio buttons, each with its own label, and each pair sharing a name:

<input type="radio" class="vs-en" name="vs-established" id="vs-established-en" checked>
<input type="radio" class="vs-tech" name="vs-established" id="vs-established-tech">

There is no <fieldset> and no role="radiogroup" around each pair, so a screen reader announces "Plain English, radio button, 1 of 2" without saying what the choice is for. The labels make sense on their own, and the switch only changes how the text below is explained, so this is not a failure. A <fieldset> with a <legend>, or a role="radiogroup" with an aria-label such as "Explanation style", would remove all 15 alerts and make the purpose of the choice clearer. That is a fair point, and one our audit does not check.

What the rule says. W3C technique H71: Providing a description for groups of form controls using fieldset and legend elements is a sufficient technique for WCAG 1.3.1 Info and Relationships and 3.3.2 Labels or Instructions. It is one way to meet those criteria, not the only way, and it is most important where the individual labels do not make sense without the group's label.

Expected: grouped controls whose purpose is clear. Here each label is clear, and the group's purpose is shown visually but not given a name.

Who complies. No WCAG criterion is failed. A group label would be a worthwhile improvement.

Fair advice: "Redundant link" and "Redundant title text"

Redundant link. In the top bar, "Sign In" and "Join free" both go to /seo-auth/login.html, where visitors can sign in or create an account. WAVE flags adjacent links to the same address because keyboard and screen reader users meet two stops for one destination. Each link has clear text and both lead to the right place, so it is not a failure. It is a design choice worth knowing about.

Redundant title text. The share bar's Copy link button has title="Copy link" and aria-label="Copy link". The title adds nothing that the aria-label does not already say. WAVE is right, and it is harmless.

What our audit found on the same page

Side by side

Why this result matters

This month we have published false positives from TraceValid, Skynet Technologies and accessScan by accessiBe, and found none from a11y-check.eu. WAVE is close behind: no errors, and alerts that are clearly labelled as things to check rather than failures. Of its 18 alerts, one was a false positive, and WAVE's own wording makes clear that alerts need a person's judgement.

That is the difference between a report that helps and one that alarms. A good tool separates errors from advice, shows the element, and leaves the decision to you when it cannot be sure.

How to read any automated accessibility report

Our Accessibility Audit costs £2.49. It checks the page in Chrome after its scripts run, against all 55 WCAG 2.2 Level A and AA criteria, reports AAA and best-practice notes separately and unscored, shows the evidence for every result, and lists which criteria still need a person to check. See a real report in our example accessibility report.

The full reports

Every report used in this post is published in full and unedited: WAVE's summary and page view, our Accessibility Audit report, and our live checks of the page code. See the full reports.

Sources

Frequently asked questions

Is WAVE an accurate accessibility checker?

On our home page it was. WAVE found 0 errors and 0 contrast errors, which matched our own audit, and it labels everything else as alerts for a person to check rather than as failures. Of its 18 alerts, one was a false positive, a duplicate logo alt text where the stylesheet always hides one logo. The other 17 were fair advice or accurate but harmless points, and none was a WCAG failure. That is a good result for an automated tool.

What is the difference between a WAVE error and a WAVE alert?

WAVE errors and contrast errors are issues that are very likely to be accessibility failures, such as a missing image alternative or text below the WCAG contrast minimum. Alerts are things that may cause problems depending on how they are used, so a person needs to look at them and decide. An alert is not a failure. A page can have alerts and still meet WCAG, as long as each alert is checked and found to be fine or improved.

Does a group of radio buttons need a fieldset?

Not always. WCAG technique H71, fieldset and legend, is one sufficient way to meet 1.3.1 and 3.3.2, but it is not required where each label makes sense on its own. It matters most when the labels only make sense with the group's question, such as Yes and No answers. A fieldset with a legend, or a role of radiogroup with an aria-label, is still good practice because screen reader users then hear what the choice is about.

Is the same alt text on a light and a dark logo a problem?

Not if only one of them is shown at a time. If the stylesheet hides one logo with display none, browsers leave it out of what screen readers get, so the alt text is read once. It would be a problem if both images were visible together, or hidden only with opacity or positioning, because then a screen reader could read the same words twice in a row. Check the CSS that switches the logos for each theme.

Should I fix every WAVE alert?

Check every alert, but fix only the ones that make a real difference for visitors. Group labels for related form controls, clearer link text and removing duplicate links in the same place are usually worth doing. Alerts caused by hidden content, such as theme-specific logos, can be left as they are once you have confirmed what the browser actually exposes. Keep a short note of each decision so the next audit is quicker to review.

💬 Got a problem?

aiwebpageseo.com is a data-driven SEO and AEO platform providing a free suite of technical website tools.