This is an example. Riverside Bakery is a fictional business. The findings are common barriers we see on real sites, written exactly the way a CodexMotive manual audit reports them.
Accessibility audit: Riverside Bakery online ordering
- Standard
- WCAG 2.2 AA, which covers AODA's WCAG 2.0 AA requirement
- Scope
- Home, Menu, the 3-step Order form, and Order confirmation: 6 pages and screens
- Tested with
- Keyboard only; NVDA with Firefox and JAWS with Chrome on Windows; VoiceOver with Safari on iPhone; 200% and 400% zoom; axe DevTools
Summary
People can browse the menu with a keyboard or a screen reader, but they can't finish an order. Two barriers stop them: the pickup time can't be chosen without a mouse (RB-01), and form errors are silent to screen readers (RB-02). Fix those first. Together with RB-03, they are the difference between "hard to use" and "can't use".
- Critical 2
- Serious 3
- Moderate 2
- Minor 1
6 of the 8 findings fail WCAG 2.0 AA, the AODA legal baseline. The other 2 fail criteria added in WCAG 2.1 and 2.2.
Findings
RB-01 Critical
Keyboard users can't choose a pickup time, so they can't order.
- Where
- Order form, step 2 (Pickup), the "Pickup time" picker
- Who it affects
- Keyboard users, switch users, and screen reader users
- What we found
- Pressing Tab moves from "Pickup date" straight to "Continue", skipping the time picker. The picker is a styled <div> that opens on mouse click only. With NVDA, the picker is not announced at all. "Continue" then shows "Choose a pickup time", and the order cannot go further.
- How to fix it
- Use a native <select> for the time. If the custom look must stay, build it as a listbox that can be focused and operated with the arrow keys, Enter and Escape.
<label for="pickup-time">Pickup time</label> <select id="pickup-time" name="pickupTime"> <option>9:00 am</option> <option>9:30 am</option> </select> - WCAG
- 2.1.1 Keyboard (Level A). Part of WCAG 2.0 AA, the AODA baseline.
RB-02 Critical
Form errors aren't announced, so screen reader users don't know why nothing happened.
- Where
- Order form, step 3 (Details), after pressing "Place order"
- Who it affects
- Screen reader users, and people with low vision using magnification
- What we found
- With the phone field left empty, pressing "Place order" shows a red message at the top of the form. Focus stays on the button, and NVDA and VoiceOver say nothing. At 200% zoom the message is off screen.
- How to fix it
- On submit, move focus to an error summary at the top of the form that links to each field with a problem. Connect each inline error to its field with aria-describedby, and mark the field aria-invalid="true".
<input id="phone" aria-invalid="true" aria-describedby="phone-error"> <p id="phone-error">Enter a phone number so we can reach you about your order.</p> - WCAG
- 3.3.1 Error Identification (Level A). Part of WCAG 2.0 AA, the AODA baseline.
RB-03 Serious
The quantity buttons are announced only as "button".
- Where
- Menu page, the minus and plus buttons on every product
- Who it affects
- Screen reader users, and voice control users
- What we found
- NVDA reads every one of these controls as "button", with no name. VoiceOver reads "minus" and "plus" from the icon file name, but not which product they change. Voice control users can't say "click increase sourdough".
- How to fix it
- Give each button a name that includes the product, and announce the new quantity.
<button type="button" aria-label="Increase quantity of Sourdough loaf">+</button> <span aria-live="polite">Sourdough loaf: 2</span> - WCAG
- 4.1.2 Name, Role, Value (Level A). Part of WCAG 2.0 AA, the AODA baseline.
RB-04 Serious
Keyboard focus disappears behind the sticky cart bar.
- Where
- Menu page, the bar fixed to the bottom of the screen
- Who it affects
- Keyboard users, and people with low vision
- What we found
- Tabbing down the menu, the focused "Add to order" button slides under the cart bar at the bottom of the window. For three or four Tab presses in each row, there is no visible focus.
- How to fix it
- Reserve space for the bar so focused elements are scrolled clear of it.
html { scroll-padding-bottom: 88px; /* height of the cart bar */ } - WCAG
- 2.4.11 Focus Not Obscured (Minimum) (Level AA). Added after WCAG 2.0.
RB-05 Serious
At 400% zoom the menu scrolls sideways, and prices are cut off.
- Where
- Menu page, the product grid
- Who it affects
- People with low vision who zoom in
- What we found
- At 1280px wide and 400% zoom (the same as a 320px screen), the grid keeps three fixed-width columns. Reading each row means scrolling left and right, and the price column is cut off at the right edge.
- How to fix it
- Let the grid reflow to one column at narrow widths. Remove fixed widths on the product cards.
.menu-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); } - WCAG
- 1.4.10 Reflow (Level AA). Added after WCAG 2.0.
RB-06 Moderate
Product photos are announced by their file names.
- Where
- Menu page, every product photo
- Who it affects
- Screen reader users
- What we found
- NVDA reads "IMG underscore 2041 dot jpg" before each product name. The product name is already written next to each photo, so the file name only adds noise.
- How to fix it
- The photos repeat the visible product name, so mark them as decorative with an empty alt attribute.
<img src="sourdough.jpg" alt=""> - WCAG
- 1.1.1 Non-text Content (Level A). Part of WCAG 2.0 AA, the AODA baseline.
RB-07 Moderate
"Sold out" is shown only by greying out the product.
- Where
- Menu page, sold-out products
- Who it affects
- People who are colour blind or have low vision, and screen reader users
- What we found
- Sold-out products turn light grey. There is no text, and the "Add to order" button still works but then fails silently.
- How to fix it
- Add a visible "Sold out" label, and disable the button with a reason people can see and hear.
- WCAG
- 1.4.1 Use of Color (Level A). Part of WCAG 2.0 AA, the AODA baseline.
RB-08 Minor
The footer links are hard to read against the background.
- Where
- Every page, the footer
- Who it affects
- People with low vision
- What we found
- The footer links are light grey on white, measured at 3.2:1. Body-size text needs 4.5:1.
- How to fix it
- Darken the link colour to at least 4.5:1 against the footer background.
- WCAG
- 1.4.3 Contrast (Minimum) (Level AA). Part of WCAG 2.0 AA, the AODA baseline.
What a real report adds
- A walkthrough call, so your developers can ask about any finding.
- One re-test after your fixes, within 90 days of delivery, and an updated report showing what is fixed and what is still open.
- The report as a PDF and a spreadsheet, so findings can go straight into your tracker.
- Findings written against your own pages and code, in the order to fix them.