π Example report β real output, not demo data
Accessibility Audit Example: A Real WCAG 2.2 Report and What It Found
This is a real report from the AI Web Page SEO Accessibility Audit. We ran it on the home page of aipageseo.com, our sister site, in October 2026, and copied the result here exactly as the tool showed it. The page scored 20 out of 100: 3 errors, 7 warnings and 17 checks passed, with all 55 WCAG 2.2 Level A and AA criteria listed in the coverage table at the end of the report.
Below the report, each finding is explained in plain English: who it affects, why the tool flagged it and how it is fixed. It is a useful example because it has a bit of everything: failures, warnings, things that passed, things only a person can judge, and two criteria the audit could not check on this run.
The report, exactly as the tool showed it
Audited page: https://aipageseo.com/, fetched by URL and loaded in Chrome after its scripts had run.
Accessibility Audit Results
Errors β Must Fix (3)
29 controls with a low-contrast edge
Buttons, form fields and other controls whose edge is shown by a border or fill need that edge at a contrast ratio of at least 3:1 against the colour around it, so people with low vision can see where to click. This scanner applies that rule to every control; WCAG 1.4.11 requires it where the edge is what identifies the control, such as a form field. Examples: "G Ask ChatGPT Ask about this site β" 1.1:1 (#dbeafe on #f0f4ff); "C Ask Claude Ask about this site β" 1.1:1 (#dbeafe on #f0f4ff); "P Ask Perplexity Ask about this site β" 1.1:1 (#dbeafe on #f0f4ff); "AI Ask Google AI Ask about this site β" 1.1:1 (#dbeafe on #f0f4ff); "See all pricing" 1.22:1 (#dbeafe on #ffffff); β¦
Fix: Darken the border (or the control fill) until it reaches at least 3:1 against the background around the control, in every colour scheme the page offers.
3 controls have their focus outline cut off
These controls are given a focus outline, but a box around them hides anything drawn outside its edges (overflow: hidden), so when they are reached with the Tab key nothing on screen shows where keyboard focus is (WCAG 2.4.7 Focus Visible, Level AA). Examples: "What does Keyword Analysis check?" (inside details.faq-item); "What does the Schema Debugger verify?" (inside details.faq-item); "Is Keyword Analysis free?" (inside details.faq-item)
Fix: Remove overflow: hidden from the box named after each control, or draw the outline inside the control with a negative offset, for example :focus-visible { outline: 3px solid #1a73e8; outline-offset: -3px; }.
1 personal details field without autocomplete
These fields ask for the visitor's own details but do not say what they collect, so browsers cannot fill them in and visitors with memory, motor or reading difficulties have to type everything (WCAG 1.3.5 Identify Input Purpose, Level AA). Fields: "your name"
Fix: Add the matching autocomplete value to each field, for example autocomplete="email", "tel", "given-name", "family-name", "name", "postal-code" or "street-address".
Warnings (7)
2 form fields named only by placeholder text
These fields have no label: their only name is the placeholder ("Your name", "Add a comment or questionβ¦"). Screen readers read it as the name, so this is not a failure on its own, but the placeholder disappears as soon as someone types, so visitors can lose track of what the field is for (WCAG 3.3.2 Labels or Instructions).
Fix: Add a visible <label for="inputId"> (or aria-label where a visible label is not possible) and keep the placeholder only as an example.
1 video without captions
A video with speech or meaningful sound needs captions for deaf and hard-of-hearing visitors. No captions track was found on this video.
Fix: If the video has speech or meaningful sound, add a captions track inside the video tag: a track element with kind="captions", srclang and a label, pointing to a WebVTT (.vtt) file.
21 SVG graphics with no accessible name
An SVG that is not hidden and has no name is announced unpredictably by screen readers, or its meaning is lost.
Fix: Decorative SVGs (icons next to text or inside a named link or button): add aria-hidden="true" focusable="false". SVGs that carry meaning: add a title element as its first child, or role="img" with an aria-label.
24 links open a new tab without saying so
Opening a new tab or window moves the visitor away from the page they were on. Screen reader and keyboard users should be told before it happens.
Fix: Add "(opens in a new tab)" to each link, as visually hidden text or at the end of its aria-label, or remove target="_blank".
2 link names not clear on their own (WCAG 2.4.9, AAA)
Screen-reader users often bring up a list of every link on the page, with no surrounding text, and voice-control users say the link text to click it. Each link's text should say where it goes or what it does on its own. Found β named by an email, phone number, web address or version number: "advice@aiwebpageseo.com", "v2.6.0".
Fix: Give each link its own descriptive text ("Read the schema guide" instead of "Read more"); give links that go to different pages different text; start address links with a short phrase ("Email us", "Call us") and show the address or number next to the link as plain text.
10 b/i tags used for emphasis
The b and i tags only change how text looks. Screen readers cannot tell that the text is meant to stand out.
Fix: Use the strong tag instead of b, and em instead of i, where the text is emphasised. They look the same by default.
No site search or site map found
Besides the menu, visitors need another way to find pages, such as a search box or a site map page. Neither was found on this page. A small site whose menu links to every page, or another way such as an A to Z list, can also meet this (WCAG 2.4.5 Multiple Ways, Level AA).
Fix: Add a site search, or a site map page that lists every page, and link to it from every page (usually in the footer).
Passed (17)
β Text contrast meets WCAG AA (248 text elements measured)
β All 84 links have descriptive text
β All 2 buttons have accessible names
β HTML lang attribute present
β Single H1 heading present
β No sideways scrolling at phone width (320px)
β Text still fits when text spacing is increased
β Text still fits when the page is zoomed to 200%
β No moving content without a way to pause it
β No content flashes more than 3 times a second
β Page works in both portrait and landscape orientation
β Heading hierarchy logical
β aria-labels match the visible text of their controls
β main landmark present
β nav landmark present
β Skip navigation link present
β ARIA, list structure, zoom, page title and other WCAG checks passed (axe-core)
Notes
βΉ The page was loaded with its own scripts running and the finished page was audited, as your visitors see it after it loads.
βΉ 53 text elements sit over an image, gradient or unsupported colour, so contrast could not be measured automatically β check them by eye.
βΉ Optional, Level AAA (not scored): 54 text elements pass the AA contrast minimum but are below the AAA enhanced level (WCAG 1.4.6: 7:1, or 4.5:1 for large text). AAA is not required by UK or EU accessibility rules, which ask for AA. Examples: "See how the major AI systems describe this site β and whethβ¦" 6.88:1 (AAA needs 7:1, #475569 on #f0f4ff); "50+" 3.29:1 (AAA needs 4.5:1, #16a34a on #ffffff); "90+" 3.29:1 (AAA needs 4.5:1, #16a34a on #ffffff); "Free" 3.29:1 (AAA needs 4.5:1, #16a34a on #ffffff); "4.99" 3.29:1 (AAA needs 4.5:1, #16a34a on #ffffff); β¦
βΉ Contrast is measured on the finished page in its default colour scheme; colours changed by a dark-mode toggle or later clicks are not included.
βΉ Keyboard focus was checked on the first 40 tab stops of the page.
WCAG 2.2 coverage, Level A and AA: 3 failed, 4 with warnings, 26 with no problems found, 20 need a person to check, 2 not checked this time
| Criterion | Level | Name | Result |
|---|---|---|---|
| 1.1.1 | A | Non-text Content | Warning |
| 1.2.1 | A | Audio-only and Video-only (Prerecorded) | Needs a person to check |
| 1.2.2 | A | Captions (Prerecorded) (also check that captions are accurate and complete) | No problems found |
| 1.2.3 | A | Audio Description or Media Alternative (Prerecorded) | Needs a person to check |
| 1.3.1 | A | Info and Relationships | Warning |
| 1.3.2 | A | Meaningful Sequence | Needs a person to check |
| 1.3.3 | A | Sensory Characteristics | Needs a person to check |
| 1.4.1 | A | Use of Color (also check that colour is never the only way information is shown) | No problems found |
| 1.4.2 | A | Audio Control | No problems found |
| 2.1.1 | A | Keyboard (also check that every function works with the keyboard alone) | No problems found |
| 2.1.2 | A | No Keyboard Trap (also check the parts of the page beyond the first 40 tab stops) | No problems found |
| 2.1.4 | A | Character Key Shortcuts | Needs a person to check |
| 2.2.1 | A | Timing Adjustable (also check time limits set by scripts (session timeouts)) | No problems found |
| 2.2.2 | A | Pause, Stop, Hide (also check content further down the page) | No problems found |
| 2.3.1 | A | Three Flashes or Below Threshold (also check videos and animations beyond the first seconds) | No problems found |
| 2.4.1 | A | Bypass Blocks | No problems found |
| 2.4.2 | A | Page Titled (also check that the title describes the page) | No problems found |
| 2.4.3 | A | Focus Order (also check that the tab order follows the page in a sensible order) | No problems found |
| 2.4.4 | A | Link Purpose (In Context) (also check that each link says where it goes) | No problems found |
| 2.5.1 | A | Pointer Gestures | Needs a person to check |
| 2.5.2 | A | Pointer Cancellation | Needs a person to check |
| 2.5.3 | A | Label in Name (also check controls named by pictures of text) | No problems found |
| 2.5.4 | A | Motion Actuation | Needs a person to check |
| 3.1.1 | A | Language of Page | No problems found |
| 3.2.1 | A | On Focus (also check the parts of the page beyond the first 40 tab stops) | No problems found |
| 3.2.2 | A | On Input | Needs a person to check |
| 3.2.6 | A | Consistent Help | Not checked this time |
| 3.3.1 | A | Error Identification | Needs a person to check |
| 3.3.2 | A | Labels or Instructions | Warning |
| 3.3.7 | A | Redundant Entry | Needs a person to check |
| 4.1.2 | A | Name, Role, Value (also check custom controls built with scripts) | No problems found |
| 1.2.4 | AA | Captions (Live) | Needs a person to check |
| 1.2.5 | AA | Audio Description (Prerecorded) | Needs a person to check |
| 1.3.4 | AA | Orientation | No problems found |
| 1.3.5 | AA | Identify Input Purpose | Failed |
| 1.4.3 | AA | Contrast (Minimum) (also check text drawn inside images) | No problems found |
| 1.4.4 | AA | Resize Text (also check text that grows only partly when zoomed) | No problems found |
| 1.4.5 | AA | Images of Text | Needs a person to check |
| 1.4.10 | AA | Reflow (also check content that only appears after an action) | No problems found |
| 1.4.11 | AA | Non-text Contrast | Failed |
| 1.4.12 | AA | Text Spacing (also check text that overlaps rather than being cut off) | No problems found |
| 1.4.13 | AA | Content on Hover or Focus (also check pop-ups beyond the menus and tooltips tried) | No problems found |
| 2.4.5 | AA | Multiple Ways | Warning |
| 2.4.6 | AA | Headings and Labels (also check that headings and labels describe their content) | No problems found |
| 2.4.7 | AA | Focus Visible | Failed |
| 2.4.11 | AA | Focus Not Obscured (Minimum) (also check the parts of the page beyond the first 40 tab stops) | No problems found |
| 2.5.7 | AA | Dragging Movements | Needs a person to check |
| 2.5.8 | AA | Target Size (Minimum) (also check controls drawn without their own box) | No problems found |
| 3.1.2 | AA | Language of Parts (also check passages in another language that are not marked) | No problems found |
| 3.2.3 | AA | Consistent Navigation | Not checked this time |
| 3.2.4 | AA | Consistent Identification | Needs a person to check |
| 3.3.3 | AA | Error Suggestion | Needs a person to check |
| 3.3.4 | AA | Error Prevention (Legal, Financial, Data) | Needs a person to check |
| 3.3.8 | AA | Accessible Authentication (Minimum) | Needs a person to check |
| 4.1.3 | AA | Status Messages | Needs a person to check |
How to read the numbers
The score starts at 100 and loses 15 points for each error and 5 for each warning: 100 β (3 Γ 15) β (7 Γ 5) = 20. It is a measure of how much there is to fix, not of legal compliance. A page conforms to WCAG at Level AA only when it meets every Level A and AA success criterion, so even one error means it does not conform, whatever the score.
The coverage table at the end of the report is the most honest summary. Of the 55 WCAG 2.2 Level A and AA criteria, 3 failed, 4 had warnings, 26 showed no problems, 20 can only be judged by a person (such as whether alt text describes each image well), and 2 were not checked on this run. Nothing is left out, so "not tested" is never mistaken for "no problems".
| Result | Count | What it means |
|---|---|---|
| Errors | 3 | Failures of a WCAG A or AA criterion. Fix these first. |
| Warnings | 7 | Problems that make the page harder to use, likely failures that need a quick look, or AAA good practice. |
| Passed | 17 | Checks that looked and found nothing wrong. |
| Notes | 5 | How the page was audited and anything that limited the results. Not scored. |
The three errors, explained
1. 29 controls with a low-contrast edge (WCAG 1.4.11)
The text on the page passed: all 248 text elements measured met the 4.5:1 minimum. The controls did not. The "Ask ChatGPT", "Ask Claude", "Ask Perplexity" and "Ask Google AI" cards and the "See all pricing" button are outlined in a pale blue border (#dbeafe) on a pale blue or white background, which measures 1.1:1 to 1.22:1. WCAG asks for at least 3:1 where the edge is what shows a control is there, so people with low vision can see where to click.
How it is fixed: darken the border (or the fill) until the edge reaches 3:1 against what surrounds it. When many controls share one border colour, as these do, a single change in the stylesheet fixes them all.
2. Three focus outlines cut off by their box (WCAG 2.4.7)
The FAQ questions "What does Keyword Analysis check?", "What does the Schema Debugger verify?" and "Is Keyword Analysis free?" each sit inside a details box that uses overflow: hidden. When a keyboard user tabs to one of them, the browser draws a focus outline outside the question and the box clips it away, so nothing on screen shows where focus is.
How it is fixed: draw the outline inside the question with a negative offset, for example outline-offset: -3px, or remove overflow: hidden from the box. The audit names the box responsible (details.faq-item), so this is a one-rule fix for all three.
3. A name field without autocomplete (WCAG 1.3.5)
The comment form asks for "your name" but does not say so in code. Browsers cannot offer to fill it in, so people with memory, motor or reading difficulties have to type it every time.
How it is fixed: add autocomplete="name" to the field.
The seven warnings, explained
- Fields named only by placeholder text (3.3.2). "Your name" and "Add a comment or questionβ¦" have no label. A screen reader reads the placeholder as the name, so it is not a failure on its own, but the hint disappears as soon as someone types. The fix is a visible label, or an aria-label where there is no room for one.
- A video without captions (1.2.2). The audit cannot hear whether a video has speech, so it warns rather than fails. If the video has speech or meaningful sound, a WebVTT captions track is the fix; the coverage table still asks a person to check that captions are accurate.
- 21 SVG graphics with no accessible name. Icons that sit inside a link or button which already has a name are decoration, and
aria-hidden="true" focusable="false"hides them from screen readers. An SVG that carries meaning needs a name of its own. - 24 links opening a new tab without saying so. Adding "(opens in a new tab)" as visually hidden text tells screen reader and keyboard users before it happens.
- 2 link names not clear on their own (2.4.9, AAA). Two links are named only by an email address and a version number. AAA is not required by law, but the fix is quick: "Email us" and "Changelog", with the address and version shown next to them as plain text.
- 10 b and i tags used for emphasis. The fix is
strongandem, which look the same but tell screen readers the text is meant to stand out. - No site search or site map (2.4.5). Visitors need a second way to find pages besides the menu. A "Site map" link in the footer of every page meets this.
What the notes and the coverage table tell you
Notes are not scored, but they say what the audit could and could not see. On this run, 53 text elements sat over an image or gradient, where no automated tool can measure contrast reliably, so they are listed to be checked by eye. Keyboard focus was checked on the first 40 tab stops, and contrast was measured in the default colour scheme.
The AAA note is optional. Level AAA asks for 7:1 text contrast; UK and EU accessibility rules ask for Level AA, and W3C itself does not recommend requiring AAA for whole sites. The audit lists the 54 AAA contrast shortfalls so you can see them, but never lets them lower the score.
Two criteria, Consistent Navigation (3.2.3) and Consistent Help (3.2.6), are marked "Not checked this time". Both can only be judged by comparing pages of the same site, so they need more than one page to compare. Rather than guess, the audit says so, and they stay on the list to check.
What the audit checks
The page is loaded in headless Chrome and audited after its scripts have run, using the full axe-core rule set plus the audit's own checks for criteria axe-core has no rule for: keyboard access and keyboard traps, focus that is visible and not hidden behind sticky content, reflow at 320 pixels wide, 200% zoom, text spacing, contrast of text and of control edges, flashing, moving content, and consistent navigation and help across pages.
| Contrast rule | Minimum | WCAG |
|---|---|---|
| Normal text | 4.5 : 1 | 1.4.3 (AA) |
| Large text (24px, or 18.66px bold) | 3 : 1 | 1.4.3 (AA) |
| Control edges and focus indicators | 3 : 1 | 1.4.11 (AA) |
| Enhanced text contrast (optional note) | 7 : 1 | 1.4.6 (AAA) |
Frequently asked questions
Is this a real accessibility report or made-up demo data?
It is a real report. It is the output of the AI Web Page SEO Accessibility Audit run on the home page of aipageseo.com, our sister site, in October 2026. Nothing in it has been invented or tidied up: the score, the counts, the examples, the colours and the 55-row coverage table are exactly what the tool returned. The explanations below the report are ours, written to show what each finding means for visitors and how it would be fixed.
Why did a page with good text contrast still fail on contrast?
Because WCAG has two separate contrast rules. Text must reach 4.5:1 (3:1 for large text) under 1.4.3, and this page passed that on all 248 text elements measured. Controls such as buttons, cards and form fields must show their edges at 3:1 under 1.4.11. The "Ask ChatGPT", "Ask Claude", "Ask Perplexity" and "Ask Google AI" cards and the "See all pricing" button used a pale blue border (#dbeafe) on a pale blue or white background, which measures 1.1:1 to 1.22:1. People with low vision cannot see where those controls begin and end.
What does a focus outline being cut off mean?
When a keyboard user presses Tab, the browser draws an outline around the control that has focus so they can see where they are. If a box around that control has overflow set to hidden, the part of the outline drawn outside the control is clipped away and the user sees nothing. On this page that happened to three FAQ questions, "What does Keyword Analysis check?", "What does the Schema Debugger verify?" and "Is Keyword Analysis free?", each inside a details box with overflow: hidden. Drawing the outline inside the question with a negative outline-offset fixes all three at once.
Why is the score only 20 when most checks passed?
The score starts at 100 and drops 15 points for every error and 5 for every warning, so three errors and seven warnings take a page from 100 to 20, even with 17 checks passed. It measures how much there is to fix, not how much is right. Each error usually has a single cause, such as one border colour or one CSS rule, so fixing that cause clears every example of it at once, and the score rises quickly as each cause is dealt with.
Does a 100 out of 100 score mean a page is fully WCAG 2.2 compliant?
No. A page conforms at Level AA only when it meets every Level A and AA success criterion, and 20 of the 55 need a person to check, such as whether alt text describes each image well or whether error messages are clear. A score of 100 means the audit found no problems in the criteria it could test on that run. It is the right point to start a manual review of the rest, not proof of compliance.
Do accessibility overlay widgets fix problems like these?
No. Overlays add a toolbar to a page but do not change the page's own code, so they cannot add a missing label, darken a control border, add an autocomplete value or stop a box clipping a focus outline. Every problem in this report lives in the page's own HTML and CSS, and that is where each one has to be fixed. Fixing the page itself is what makes the difference for visitors who use a keyboard, a screen reader or zoom.
Run the Accessibility Audit on your own site
WCAG 2.2 Level A and AA, all 55 criteria reported, your page checked as visitors see it.