This document describes the formal testing process of the Digital Accessibility team.   

The City evaluates applications against WCAG 2.1 Level AA, along with a set of established best best practices and WCAG 2.1 AAA criteria outlined in the City of Toronto Digital Accessibility Principles & Resources ("City Standard").

The testing processes described below assume an experienced accessibility tester is executing the evaluation. This document should be considered a guide, not an exhaustive list of tests. It is expected that experienced accessibility testers will recognize issues not included here. Tests will continue to be added to this document as they are developed and adopted. 

Please see our Web Accessibility Tools List for a list of tools, plugins, etc. that can be used when executing these tests.

For the purposes of this document, the phrase "the page" refers to the page, screen, or view under examination.

A. Semi-automated Testing

Use the various semi-automated testing tools and browser plugins to review the following:

  1. Review the page as a whole.

  2. Check the page's document structure. Document any of the following issues:

  3. Check the page's colour contrast. (Use a tool that supports WCAG 2.1 AAA contrast testing, such as the WCAG Contrast checker browser extension.)

  4. Check the use of colour. View the page in grayscale and visually check for colour and contrast issues.

  5. View the page with styling disabled ("No style").

  6. View the page after applying text spacing updates (e.g., using the Text Spacing Bookmarklet).

  7. Check the page's use of HTML5 and ARIA Landmarks.

  8. Check the page uses valid code.

  9. For pages with dynamic code, check the page uses valid code as the DOM is updated and changed.

  10. If the page supports Responsive Design and/or Adaptive Design, repeat all of the above steps at each major breakpoint.

B. Manual Code Inspection

While the steps outlined in the above Section A, Semi-automated Testing, can identify several major code-related issues, code inspection is still required, in particular:

  1. Inspection of tool-identified issues.

  2. Check for use of inline styles.

  3. The page has a <title> element (or equivalent).

  4. If the page supports Responsive Design and/or Adaptive Design, repeat all of the above steps at each major breakpoint.

C. Modes of Interaction

C.1 Mouse Testing

  1. Explore the page content for interactive elements.

  2. Test pointer cancellation for all interactive elements that can be activated with mouse.

C.2 Keyboard Testing

The following tests begin on the page immediately before the page under examination.

C.2.1 Tab Test

Navigate to the page. Using a keyboard, press the tab key until you have cycled through all focusable elements on the page and focus has been returned to the browser navigation bar.

  1. Check bypass block links (or "skip links") are present.

  2. Check for logical focus order.

  3. All elements which visually appear to be interactive receive keyboard focus.

  4. All elements with mouse interactions (e.g., hover effects, etc.) can receive keyboard focus.

  5. Check for visible focus.

  6. Focus is never lost on an invisible element.

  7. Keyboard traps.

  8. Check that focusing on any element does not trigger a change of context.

  9. If focusing on an element reveals content (e.g., tooltip, popup, dropdown).

  10. If the page supports Responsive Design and/or Adaptive Design, repeat all of the above steps at each major breakpoint.

  11. Repeat the above steps using a screen reader.

C.2.2 Interaction Test

Navigate to the page. Using a keyboard, press the tab key to move focus to each interactive element. Interact, using keyboard alone, with the element. Repeat until you have cycled through all focusable elements on the page and focus has been returned to the browser navigation bar.

  1. Check bypass block links (or "skip links") work correctly.

  2. Check links work correctly.

  3. Check buttons work correctly.

  4. UI elements that change context upon input:

  5. Buttons that toggle content (e.g., popup, accordion, other content disclosure - click to open the content):

  6. Autocomplete Search inputs. Try to use when empty, with a character or two for an initial search, and with phrases and words.

  7. Content revealed on hover or focus (tooltips, popups, dropdown menus - hover or focus to open the content).

  8. If the page supports Responsive Design and/or Adaptive Design, repeat all of the above steps at each major breakpoint.

  9. Repeat the above steps using a screen reader.

C.3 Touchscreen / Mobile Device Testing

  1. Test pointer cancellation for all interactive elements that can be activated by tap.

  2. Pinch-to-zoom should increase the text size.

  3. Orientation (landscape/portrait) can be changed.

  4. For interactive elements operated using path-based gestures (e.g. swipe, drawing a shape), or multi-point gestures (e.g. pinch-zoom, two-finger tap)

D. Screen Reader Testing

The following screen reader + browser combinations are used to perform these tests:

D.1 Page title

  1. Page title is announced with each page.

  2. The title changes with each new page.

D.2 Labels

  1. Check all interactive elements are announced in a predictable way.

D.3 Images

  1. Determine if image is decorative or informative.

  2. Images use alt text. Text alternatives can appear in the body text of the page.

  3. Images of text.

  4. Alt text adds understanding and context to the page.

  5. Alt text is adequately descriptive, but not too descriptive.

  6. Graphical link.

  7. Background image.

D.4 Headings

Scan the page using the headings method for the screen reader you are testing with (e.g., NVDA: H key to discover headers, 1-6 key to traverse specific levels).

  1. Verify that the page has a single level 1 heading (<h1>) being used as the title of the content.

  2. Cycle through the headings on the page.

  3. Everything that looks like a heading is tagged as a heading.

D.5 Landmarks

Scan the page using the landmarks method for the screen reader you are testing with (e.g., NVDA: D key to discover and traverse landmarks).

  1. Listen to the landmark announcements to see if they are described by some labelling method.

D.6 Lists

Scan the page using the lists method for the screen reader you are testing with (e.g., NVDA: L key to discover lists, I key to traverse them).

  1. Everything that looks like a list is tagged as a list.

D.7 Buttons and Links

Scan the page using the button method for the screen reader you are testing with (e.g., NVDA: B key to discover and traverse buttons).

  1. Buttons have actions. Links have destinations.

D.8 Links Lists and Heading Lists

For screen readers that support this feature, bring up the list of links on the page and the list of headings on the page (e.g., NVDA: Elements List screen - NVDA key + F7).

  1. List of links.

  2. List of headings.

D.9 Status Messages

  1. When important changes in content happen, the change is announced by the screen reader.

E. Visual Testing

E.1 Colour and Colour Contrast

  1. Visually scan the page for colour issues not flagged by semi-automated testing tools.

  2. Check the page's colour contrast.

  3. Check if colour is used to convey information without other textual or visual cues.

  4. Check if images are used for content or functionality.

E.2 Resize and Reflow

  1. Browser zoom 200%

  2. Text-only zoom 200%

  3. Font size increased 200%

E.3 Links

  1. Links are visually distinguishable from the surrounding text.

  2. Link colour has sufficient contrast from body text colour.

  3. Links consistently use the same colour across this page and all pages.

  4. Links that open in a new tab or window are visually indicated.

E.4 Font

  1. Font(s) used are legible and readable.

  2. Font styling or appearance is not used to convey meaning.

  3. Font size set with relative units.

  4. No blinking or moving text.

  5. Use of text alignment.

E.5 Flashing

  1. Any flashing content on the page:

F. Component-Specific Testing

Note: As a rule, keyboard controls and ARIA roles, states, and properties for components should match the patterns outlined in the WAI-ARIA Authoring Practices 1.1 Specification.

F.1 General

  1. For all components with state, ensure the state is announced by screen readers.

  2. For all components with instructions, confirm that the instructions do not rely solely on visual- or audio-only information.

F.2 Navigation

The following considerations apply to navigation regions, menus, and other navigation elements.

  1. All levels of navigation can be accessed via keyboard alone.

  2. Keyboard navigation does not involve excessive tabbing through navigation items

  3. Arrow keys and bypass blocks are available for large navigation blocks to lighten the tab load.

  4. All navigation elements are correctly labelled. The purpose / target of navigation elements is clear and predictable.

  5. Navigation is consistent across all groups of pages.

  6. There are multiple ways to locate a page within a set of pages.

F.3 Modals

The following considerations apply to modals. 
When you open a modal, all these are true:

  1. Initial visible focus and keyboard focus is in a logical place (e.g., "Cancel" button on a confirmation modal for an action that cannot be undone, etc.).

  2. A close button for the modal is present and accessible via keyboard alone.

  3. Pressing the escape key closes the modal.

  4. Keyboard focus is trapped within the modal.

F.4 Carousels

The use of carousels is not recommended. The following considerations apply to carousels.

  1. Autoplay

  2. All slides and their contents are keyboard operable.

  3. All slide content (or a useful text alternative) is available to screen readers.

F.5 Iframes

The use of iframes is not recommended. The following considerations apply to iframes.

  1. iframe has a title.

  2. Iframe Is keyboard navigable

  3. Content of the iframe is announced correctly by the screen reader.

  4. User can interact with the content as expected when a screen reader is running.

  5. Content is not obscured at large or small breakpoints.

G. Content-Specific Testing

G.1 Downloadable Documents:

  1. Ensure downloadable content can be downloaded using the keyboard.

G.2 Forms

Forms have several unique issues that require further attention in addition to the testing activities already described above.

G.2.1 General:

  1. All form controls (including any submit button) can be interacted with according to WAI-ARIA Authoring Practices specification(s).

  2. If the form imposes any kind of time limits, ensure it meets WCAG SC 2.2.1 Timing Adjustable.

  3. If the form involves legal or financial transactions, modifying user data, or submitting test responses, ensure it meets WCAG SC 3.3.4 Error Prevention (legal, financial, data).

G.2.2 Forms Code Inspection Testing

Manually review the code for the form against the following considerations:

  1. Required fields are indicated programmatically.

  2. Error and information/instruction messages are programmatically associated with their form elements.

  3. Grouped form items are grouped programmatically (e.g., with <fieldset> + <legend>, role="group" + aria-labelledby, <optgroup> where <options> are grouped in a <select>).

  4. Where it does not interfere with privacy, autocomplete attributes and autofill detail tokens are used (and used correctly).

G.2.3 Forms Keyboard Testing

  1. Review all of the keyboard testing items listed in C.2 Keyboard Testing above.

  2. Visible labels.

  3. Groups of controls

  4. Required fields

  5. Error handling

  6. Complete the form correctly using the keyboard, then submit the form.

G.2.4 Forms Screen Reader Testing

  1. Repeat the steps listed in G.2.3 Forms Keyboard Testing using a screen reader.

  2. For each form element that you navigate to in "focus mode":

  3. Groups of controls.

  4. Error handling.

  5. Complete the form correctly, then submit the form.

G.3 Tables

Tables have several unique issues that require further attention in addition to the testing activities already described above.

G.3.1 General

  1. Tables are used for data, not presentation.

  2. White space characters are not used to format content into tables. Tables need to be coded as tables.

G.3.2 Table Code Inspection Testing

Manually review the code for the table against the following considerations:

  1. Table has headers.

  2. If scope attribute is not used or table has a complex design.

  3. Table has data cells.

  4. Table is visually styled (font, colour, etc.) through CSS.

G.3.3 Table Visual Inspection Testing

  1. View the page with styling disabled ("No style").

  2. If the page supports Responsive Design and/or Adaptive Design, review the table at each major breakpoint.

G.3.4 Table Screen Reader Testing

Screen readers may have a specific table navigation mode.

  1. Navigate the table using the "tables mode" of the screen reader.

  2. If the page supports Responsive Design and/or Adaptive Design, review the table at each major breakpoint.

G.4 Audio, Video, and Animations

The following considerations apply to multimedia and moving elements such as animations.

  1. Autoplay

  2. Controls

  3. Captioning

  4. Text alternatives

  5. Audio description. One of the following is true: