Sample report

What your report looks like

These are excerpts from a real audit report. We ran the audit on a saved copy of a real dental practice's website, applied our fixes to the copy, and ran the same checks again. We've left out the practice's name and anything that would identify it. The practice didn't order this audit, and its live website wasn't touched.

  • 3 pages tested: home, appointments and contact
  • 40 problems found, each with its fix
  • 58 pages in the full report, plus a fix pack for the web person

1. The summary page

The report's opening summary, shortened a little, with the practice's name, website and anything else that would identify it taken out.

Accessibility evaluation

A dental practice's website

WCAG 2.1 Level AA. Home, appointments and contact pages, as saved on November 6, 2026.

We checked the home, appointments and contact pages against WCAG 2.1 Level AA, the standard named in the HHS Section 504 web rule. Two automated rule engines tested the page code. Testing software then drove a real browser through each page using only the keyboard, at 200% zoom, at a 320-pixel phone width and with wider text spacing, and checked focus visibility and pause controls.

On the saved copy we found 40 problems that fail a WCAG 2.1 success criterion, 29 at Level A and 11 at Level AA. Of these, one is critical, 15 serious, 16 moderate and 8 minor. Together they fail 16 of the 50 criteria.

  • 16 high impact on patients
  • 16 medium
  • 8 low

The ones that affect patients most:

  • The quick contact form at the bottom of every page has no labels, and its two text-message choices have no words at all.
  • Keyboard focus is invisible almost everywhere, so a keyboard user can't see where they are.
  • The About, New Patients and Services drop-down menus open only with a mouse.
  • The home page video and both sliders move with no way to pause them.
  • The rating stars, the social icons and the doctor's photo are links with no name, so a screen reader says only "link".

All 40 are in the practice's own site. 20 were found beyond the automated scan, by the browser checks or by reading the page code. We wrote a fix for each one and applied all of them to the saved copy.

This report covers three pages as they were saved on November 6, 2026. It does not show that the whole site meets WCAG 2.1 AA, and it does not promise any legal result.

2. Before and after the fixes

The same checks, run on the saved copy before our fixes and again after them. Totals for the three pages.

Results of the same checks before and after the fixes, totals for the three pages
What the checks countedBeforeAfter
Page elements failing axe-core's WCAG rules330
Failures reported by IBM's accessibility checker582 (note 1)
Links with no name a screen reader can read out250
Form fields with no label a screen reader can read out180
Keyboard stops where you couldn't see where you were139 of 1480 of 177
Keyboard stops hidden behind a fixed banner150
At 200% zoom, keyboard stops hidden behind a banner or the header120 of 1613 of 154 (note 2)
Things that move with no pause button30
  1. The two left are on the contact page, which prints the contact form twice. Both copies give their two text-message choices the same name. Each copy is its own labeled group, so the report doesn't count it as a WCAG failure, and removing the second copy of the form clears it.
  2. One stop on each page: the embedded map is taller than the space left on screen while the cookie notice is open, so it stays only partly in view.

A score of 0 means these checks found nothing more. It doesn't mean the pages work for everyone; the report says what the checks can't cover.

3. Three of the 40 findings, as the report shows them

Each finding has the same parts. The first paragraph is in plain words for you. "Where", "How found" and the fix are for whoever runs your website. We've shortened some lines, put file names in plain words and taken out the practice's name.

KEY-01. Keyboard focus is invisible on almost every link, button and form field Serious

Pages
Home, Appointments, Contact
Criteria
2.4.7 Focus Visible; 1.4.11 Non-text Contrast (Level AA)
Controlled by
The practice's own site (theme, plugins or form settings)
Impact on patients
High

People who use a keyboard instead of a mouse can't see which link, button or form box they are on, because the theme switches off the outline browsers draw around it and puts nothing in its place. They lose their place on every page, including in the appointment and contact forms.

Where: Every page: the header, main menu, page content, both forms, the sliders, the footer and the cookie notice. The cause is the rule :focus{outline:0} in the child theme's stylesheet, and outline:none in the slider's stylesheet.

How found: browser checks: a keyboard walk through each page, with a picture of every stop. Automated rules: IBM style_focus_visible (a possible failure, confirmed in the pictures). Reading the page code.

Where to fix it in WordPress: The child theme's stylesheet (Appearance > Theme File Editor > style.css): delete :focus{outline:0} and add a :focus-visible outline, or add the rule under Appearance > Customize > Additional CSS. Clear the caching plugin's cache afterwards.

CSS (in the fix pack's stylesheet):

/* Restore a clear keyboard focus ring. Two tones, a white inner
   edge and a dark blue outer ring, so one of them always stands
   out on white, photo and blue backgrounds. */
:focus-visible {
  outline: 3px solid #0040a3 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px #fff !important;
}

Fixed in the demo copy. Afterwards, focus was visible at every one of the 177 keyboard stops we measured.

KEY-02. Drop-down menus open only on mouse hover Serious

Pages
Home, Appointments, Contact
Criteria
2.1.1 Keyboard (Level A)
Controlled by
The practice's own site (theme, plugins or form settings)
Impact on patients
High

Keyboard users can't open the About, New Patients and Services drop-down menus, so the 35 pages listed in them (for example Financial Information, Online Forms and every service page) can't be reached from the main menu without a mouse. The fix adds a small arrow button beside each of those menu names. Enter or Space opens the list, Esc closes it, and a closed list stays out of the Tab order. The menu names stay links to their pages, and the mouse still opens the lists on hover.

Where: The header's main menu on every page, at desktop widths: the drop-downs under About (4 links), New Patients (3) and Services (24 more links in 6 groups). The theme shows the sub-menus only while the mouse hovers over them, so every keyboard walk went from About straight to New Patients.

How found: browser checks: the keyboard walk and the accessibility tree, where the sub-menu links were never shown. Reading the page code.

Where to fix it in WordPress: The header menu: a button after each menu item that has a drop-down, with aria-expanded and aria-controls, printed by the theme or added by the fix pack's script, loaded from the child theme's functions.php. The menu items themselves stay in Appearance > Menus.

Script (an excerpt from the fix pack, slightly simplified): the button it adds after each menu name

var btn = document.createElement('button');
btn.setAttribute('type', 'button');
btn.className = 'a11y-submenu-toggle';
btn.setAttribute('aria-expanded', 'false');
btn.setAttribute('aria-controls', sub.id);
btn.setAttribute('aria-label', linkText + ' sub-menu');

Fixed in the demo copy.

IMG-04. Facebook, Google and Instagram icon links have no names Serious

Pages
Home, Appointments, Contact
Criteria
1.1.1 Non-text Content; 2.4.4 Link Purpose (In Context); 4.1.2 Name, Role, Value (Level A)
Controlled by
The practice's own site (theme, plugins or form settings)
Impact on patients
High

The Facebook, Google and Instagram buttons are icons only, so screen reader and voice-control users get unlabeled links and don't know which site each one opens.

Where: The footer's social icons on every page, plus the same three links in the home page's phone-only call bar. Each link holds only an empty icon-font span. The Google icon opens the practice's Google Maps listing.

How found: automated rules: axe-core link-name; IBM a_text_purpose. Browser checks: the accessibility tree and the keyboard walk.

Where to fix it in WordPress: The theme's footer template (footer.php) and the home page's phone-only call bar. If the theme builds these icons from its social-profile options, add the label in the template loop that prints them.

Page markup, 12 edits (Home 6, Appointments 3, Contact 3). The first one, on Home:

Before

<a href="https://www.facebook.com/[practice]/" class="header-facebook" target="_blank">
  <span class="fa fa-facebook"></span>

After

<a href="https://www.facebook.com/[practice]/" class="header-facebook" target="_blank"
   aria-label="[Practice name] on Facebook">
  <span class="fa fa-facebook" aria-hidden="true"></span>

Fixed in the demo copy.

4. What else is in the report

The full report has 15 sections:

  1. Summary
  2. The rule and the standard
  3. Scope and method
  4. Results
  5. Findings by WCAG criterion
  6. The result for each of the 50 criteria
  7. Recommended beyond WCAG 2.1 AA
  8. Checked and not counted as failures
  9. Who controls each fix
  10. Order of work
  11. Decisions for the practice
  12. Limits of this evaluation
  13. Rechecks and the monthly checkup
  14. Draft accessibility statement
  15. Letter to the website vendor

With it comes a fix pack for your web person: every fix in the report, finding by finding, with where it goes. In this demonstration it also held the stylesheet, the script and the page changes we applied to the saved copy.

From section 14, the draft accessibility statement (yours to edit and publish in your practice's name):

[Practice name] wants everyone who visits this website to be able to find information, request an appointment and contact us, including people who use a keyboard, a screen reader, screen magnification or other assistive technology.

What we have done. On [date], Northshelf LLC evaluated three pages of this site (the home, appointments and contact pages) against WCAG 2.1 Level AA, using automated checks and checks run with testing software in a browser. [On (date), our website team made the changes from that report.]

From section 15, the letter for whoever maintains the site:

We had three pages of our website (home, appointments and contact) evaluated against WCAG 2.1 Level AA by Northshelf LLC. The report found 40 problems in the theme, its scripts and our form settings, and comes with the code for each fix [...]. Please apply the fix pack to the live site.

Get this report for your own website

$490, paid once. Your report arrives within 5 business days, and we recheck the same pages free for 90 days while your web person works through the fixes.

Got an email from us? You can also just reply "yes" to it. Whether the HHS rule covers your practice is a question for your attorney; nothing here is legal advice.