Home » Portfolio » Website accessibility audit

Website accessibility audit

Representation of comprehensive audit in a spreadsheet format.

Evaluating digital accessibility through manual testing

Accessibility audits play a vital role in identifying barriers that can exclude users with disabilities and affect overall usability. They combine technical testing with real-world evaluation, ensuring websites meet WCAG standards and provide equitable access for everyone.

As a volunteer with Colorado Discover Ability (CDA), I observed that the organization’s website — which serves a community of individuals with disabilities — had accessibility challenges that limited ease of use. I conducted a complete manual audit using the Trusted Tester v5.1.3 framework, supplemented with additional WCAG 2.2 AA and usability criteria, to document these barriers and demonstrate a structured accessibility evaluation process.


Project overview

Comprehensive accessibility audit of the Colorado Discover Ability (CDA) website using the DHS Trusted Tester v5.1.3 framework, expanded to include additional WCAG 2.2 AA and usability criteria.

Project duration: November 2025

The problem: As a nonprofit providing adaptive outdoor recreation programs, Colorado Discover Ability (CDA) serves a community that depends on accessible communication. Yet its website had never been formally tested for accessibility. A comprehensive audit was needed to uncover potential barriers, improve usability, and align the organization’s digital presence with its inclusive mission.

The goal: Identify accessibility and usability barriers through a detailed manual audit using the Trusted Tester v5.1.3 framework and supplementary WCAG 2.2 AA criteria. Document findings clearly and provide a strong foundation for future remediation work.

My role: Accessibility auditor and UX accessibility consultant

Responsibilities:

  • Planned and scoped a complete manual audit following the DHS Trusted Tester v5.1.3 process
  • Applied additional WCAG 2.2 AA and usability criteria beyond the Trusted Tester framework
  • Manually tested pages using ANDI, AXE, keyboard navigation, and browser developer tools
  • Documented test results and structured findings by success criterion for clarity and traceability
  • Evaluated design, content, and technical implementation for both accessibility and usability impact

Trusted Tester criteria

The first table in this audit includes every test condition defined in the official DHS Trusted Tester v5.1.3 framework. This methodology provides a standardized, repeatable process for evaluating web content against WCAG 2.1 Level A and AA success criteria.

Organizations choose to follow the Trusted Tester process because it offers consistency, traceability, and defensible results—qualities that are especially important for government agencies, contractors, and organizations seeking to demonstrate formal compliance.

As a Trusted Tester-certified accessibility professional, I applied each test to the Colorado Discover Ability website to evaluate technical conformance, usability, and overall accessibility. The results document whether each criterion was met, failed, or determined not applicable, along with detailed tester comments for context and traceability.

Trusted Tester criteriaTest IDTest conditionResultTester commentLocationGlobal IssueScreenshot
Alt-version-conformant1AThe identified version passes all applicable Test Conditions in this test process.Does Not Apply
Alt-version-equivalent1BThe identified version is up-to-date with the same information and functionality.Does Not Apply
Alt-version-access1CThe mechanism to reach the accessible equivalent version from the non-conforming page is accessible.Does Not Apply
Non-interference1DContent in the non-conforming version(s) meets Conformance Requirement 5.Does Not Apply
1.4.2-Audio-control2AThe user can pause, stop, or control the volume of audio content that plays automatically.Does Not Apply
2.2.2-Blinking-moving-scrolling2BThe user can pause, stop, or hide moving, blinking, or scrolling content.FailNo visible pause button for moving content towards bottom of home pageHome page, after embedded facebook content. Location at screenshotNox
2.2.2-Auto-updating2CThe user can pause, stop, hide, or control the frequency of automatically updating content.Does Not Apply
4.1.2-Change-notify-auto2DThe page provides notification of each automatic update/change in content.Does Not Apply
2.3.1-Flashing3AIf NO flashing content is found, then this Test Condition DOES NOT APPLY (DNA). If flashing content IS found, then this test should be recorded as NOT TESTED.Does Not Apply
2.1.1-Keyboard-access4AAll functionality can be accessed and executed using only the keyboard.PassAll functionality is operable using the keyboard alone; no mouse input is required.Yes
2.1.1-No-keystroke-timing4BIndividual keystrokes do not require specific timings for activation of functionality.PassNo timing-dependent keystrokes are required to activate or operate any functions.Yes
2.1.2-No-keyboard-trap4CThere is no keyboard trap.PassFocus can move freely through all interactive elements and return to the browser chrome without trapping.Yes
2.4.7-Focus-visible4DA visible indication of focus is provided when focus is on the interface component.PassThis is true for all parts of the website that are within the scope of this test. (This is not true for the facebook embed that is not included in the scope of this test)Yes
3.2.1-On-focus4EWhen an interface component receives focus, it does not initiate an unexpected change of context.PassThere are no unexpected changes of contextYes
2.4.3-Focus-order-meaning4FThe focus order preserves the meaning and operability of the web page.PassFocus order is logical and consistent with the visual layout, maintaining operability and context.Yes
3.3.2-Label-provided5AVisual labels or instructions are provided for form elements.FailHome page newsletter signup and Support page credit card form rely only on placeholder text; labels are missing.Home page Support page credit card infoNox
2.4.6-Label-descriptive5BEach visual form label is sufficiently descriptive.PassAll visual form labels are descriptiveYes
1.3.1-Programmatic-label5CThe combination of the accessible name, accessible description, and other programmatic associations (e.g., table column and/or row associations) describes each input field and includes all relevant instructions and cues (textual and graphical).Does Not ApplyForms on the Program, Volunteer, and Support pages are hosted externally (Little Green Light and DonorSnap) and cannot be tested due to cross-domain restrictions. Recommend verifying the accessibility of these vendor platforms or including an accessibility statement noting reliance on third-party systems.Sublinks under Program, Volunteer and Support web pages
3.2.2-On-input5DChanging field values/selections (e.g., entering data in a text field, changing a radio button section) does NOT initiate and unexpected change of context.PassThere are no unexpected changes of contextYes
3.3.1-Error-identification5FThe item in error is identified in text and sufficiently described to the user in text.PassWhen submitting with a blank/invalid required field, inline error text is announced/visibleYes
3.3.3-Error-suggestion5GGuidance (e.g., suggestion for corrected input) is provided about how to correct errors for form fields.PassOn invalid input, message includes corrective guidanceYes
3.3.4-Error-prevention5HThe web page allows the user to check, reverse, and/or confirm submission.FailNo review/confirmation step or undo before final submission for monetary donationSupport page donation formNox
2.4.4-Link-purpose6AThe purpose of each link can be determined from any combination of the link text, accessible name, accessible description, and/or programmatically determined link context.FailRepeated links like ‘See more details’ lack unique purpose or programmatic name; add specific text or aria-label. Home page social media links (Facebook and Instagram) do not provide accessible names or sufficient programmatic context for screen reader users.Home page Upcoming EventsNox
1.1.1-Meaningful-image-name7AThe accessible name and accessible description for a meaningful image provides an equivalent description of the image.FailThe home page “Thank you to our sponsors” image has no accessible text identifying the sponsors. Alt text for “Support CDA when you shop” is “Amazon Smile,” which is not meaningful. The home page “Partners and Friends” logos also lack accessible text.Home pageYesx
1.1.1-Decorative-image7BThere is no accessible name and accessible description for a decorative image.PassDecorative images do not have accessible names and descriptionsYes
1.1.1-Decorative-background-image7CThe background image is not the only means used to convey important information.PassImportant information is not reliant on background imagesYes
1.1.1-Captcha-alternative7DAlternative forms of CAPTCHA are provided.Does Not Apply
1.4.5-Image-of-text7EThe image of text cannot be replaced by text or is customizable.PassThe only images of text are logos which cannot be replaced by text, therefore this does not apply
2.2.1-Timing-adjustable8AThe user can turn off, adjust, or extend the time limit.Does Not ApplyAfter testing the forms for reasonable time limits, I did not find a time constraint
2.4.1-Bypass-function9AA keyboard-accessible method is provided to bypass repetitive content.PassA skip link is provided to bypass main navigation itemsYes
3.2.3-Consistent- navigation9BEach navigational element occurs in the same relative order with regard to other repeated components on each web page where it appears.PassNavigational items appear on each page in the same relative orderYes
3.2.4-Consistent-identification9CThe accessible name and description is consistent for components that perform the same function.PassComponents that are repeated are named and described consistentlyYes
2.4.6-Heading-purpose10AEach heading describes the topic or purpose of its content.PassHeadings are describing the topic of the contentYes
1.3.1-Heading-determinable10BEach programmatically determinable heading is a visual heading and each visual heading is programmatically determinable.FailNon-sectional content (e.g., descriptive text and short phrases) is programmatically marked as headings. This overuse of heading tags creates excessive, inaccurate structure in the accessibility tree, making it difficult for screen reader users to navigate or understand true page organization.Global but screenshot example comes from footerYesx
1.3.1-Heading-level10CProgrammatic heading levels logically match the visual heading presentation within the heading structure.FailHeading levels skip or repeat non-hierarchically (e.g., H1 used for multiple section titles).Global issue, Screenshot example comes from home page.Yesx
1.3.1-List-type10DAll visually apparent lists are programmatically identified according to their type.FailFooter navigation lists are not programmatically identified as lists.Footer listNox
3.1.1-Page-language-defined11AThe default human language of each web page can be programmatically determined.PassThe default human language is set to EnYes
3.1.2-Part-language-defined11BThe human language for any content segment that differs from the default human language of the page can be programmatically determined.Does Not ApplyYes
2.4.2-Page-title-defined12AA title element is defined for the web page.PassEach page has a defined title.Yes
2.4.2-Page-title-purpose12BThe title element identifies the contents or purpose of the web page.PassPage titles accurately identify the content and purpose of each web page.Yes
4.1.2-Frame-title12CEach has a title attribute that describes its content.FailThe Volunteer page has two iframes—an embedded YouTube video and a DonorSnap form—both missing title attributes. The Support page also includes a DonorSnap iframe with no title.Volunteer and support paggesYesx
4.1.2-iFrame-name12DThe combination of accessible name and description for each describes its content.FailThere is no accessible description for either iframe on the Volunteer page or for the iframe on the Support page.Volunteer and Support pagesYes
1.4.1-Color-meaning13AColor is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element.PassColor is not the only way to convey informationYes
1.3.3-Sensory-info13BInstructions provided for understanding and operating content do not rely solely on sensory characteristics of components, such as shape, color, size, visual location, orientation, or sound.PassThere are no instructions that are solely relying on sensory characteristicsYes
1.4.3-Contrast13CThe visual presentation of text and images of text have sufficient contrast.FailHome page newsletter signup placeholder text fails 4.5:1 contrast. Rotating gallery text placed over images drops below 4.5:1 in multiple frames. Footer text also fails 4.5:1 contrast.Home pageYesx
1.3.1-Table-identification14AEach data table has programmatic markup to identify it as a table.Does Not Apply
1.3.1-Cell-header-association14BAll data cells are programmatically associated with relevant headers.Does Not Apply
1.3.1-Layout-table-structure14CThe layout table DOES NOT designate the layout table using ARIA role= ‘table’ AND DOES NOT include table header structure and relationship elements and/or associated attributes.Does Not Apply
1.3.2-Content-order-meaning-css-position15AThe reading order of the content (in context) is correct and the meaning of the content (in context) is preserved without CSS positioning.PassThe reading order remains consistentYes
1.2.1-Audio-transcript-text16AA text-based alternative is provided for audio-only content that provides an accurate and complete representation of the audio-only content.Does Not Apply
1.2.1-Video- alternative-equivalent16BThe video-only content information is also available through an equivalent text or audio alternative.Does Not Apply
1.2.2-Captions-equivalent17AThe synchronized media provides accurate captions for the audio content.PassVideo on Volunteer page includes closed captioningVolunteer pageNo
1.2.5-Audio-description-equivalent17BThe synchronized media provides an equivalent soundtrack (combination of narration and audio descriptions) for the video content.PassVolunteer video contains interviews only; all relevant visual information is conveyed through dialogue.
1.2.4-Captions-live-equivalent17CThe live synchronized media provides accurate captions for the audio content.Does Not Apply
503.4-Caption-controls17DThe media player provides user controls for closed captions.PassVolunteer video provides user controls for closed captioningVolunteer pageNo
503.4-Description-controls17EThe media player provides user controls for audio descriptions.Does Not ApplyNo audio description track provided or required; player does not include an audio description toggle.No
503.4.1-Caption-control17FUser controls for captions are provided at the same menu level as the user controls for volume or program selection.PassUser controls for captions are provided at the same menu level as the user controls for volume or program selection.No
503.4.2-Description-control17GUser controls for audio descriptions are provided at the same menu level as the user controls for program selection or volume.Does Not ApplyNo audio description track provided or required; player does not include an audio description toggle.No
1.4.4-Resize-text18AThere is a mechanism to resize, scale, or zoom in on the text to at least 200% of its original size without loss of content or functionality.FailEmbedded third-party form in iframe does not enlarge/reflow; content remains fixed.Program, Support, and Volunteer pagesYes
2.4.5-Multiple-ways19AThere are two or more ways to locate a web page within a set of web pages.PassMain navigation, footer navigation provide at least two ways to locate a single web pageYes

Additional WCAG criteria

While the Trusted Tester v5.1.3 framework covers all WCAG 2.1 Level A and AA success criteria, it does not yet include the new WCAG 2.2 criteria added in October 2023. To ensure a more complete and forward-looking evaluation, I incorporated these additional WCAG 2.2 Level AA tests into this audit.

These criteria address areas that improve real-world usability for keyboard and touch users, such as target size, focus visibility, and help consistency. Including them provides a broader assessment that reflects the most current accessibility standards and user expectations.

Additional WCAG 2.2 AA criteriaTest IDTest conditionResultTester commentLocationGlobal issueScreenshot
1.4.11 Non-text contrast21WVerify that visual information used to indicate controls, states, and graphical objects has a contrast ratio of at least 3:1 against adjacent colors.FailHome page buttons on rotating gallery do not have sufficient contrast against background imagesHome page rotating galleryNox
1.4.12 Text spacing22WApply user overrides (line height 1.5× etc.) → no clipping or overlap.PassNo clipping or overlaps occurred with 1.5x text spacingYes
1.4.13 Content on hover or focus23WEnsure pop-ups/tooltips can be dismissed (Esc), stay visible while hovered, don’t obscure trigger.Does Not Apply
2.4.11 + 2.4.12 Focus not obscured24WConfirm visible focus is never blocked by sticky headers or overlays.Does Not Apply
2.4.13 Focus appearance25WFocus indicator ≥ 3 : 1 contrast and ≥ 2 CSS px thick.PassThe focus indicator meets the 2px thickness requirement but is dotted, which reduces visibility. Recommend changing it to a solid line.Yesx
2.5.7 Dragging movements26WDragging actions (sliders, sortables) have click / keyboard alternatives.Does Not Apply
2.5.8 Target size (minimum)27WInteractive targets ≥ 24 × 24 CSS px or spaced to equivalent.Fail“See more details” link on the home page and all footer navigation links are less than 24px tall.Home page and footerYesx
3.2.6 Consistent help28WHelp options (contact, FAQ, chat) appear consistently across pages.PassContact number and email appear in footerYes
3.3.7 Redundant entry29WPreviously entered data is retained or auto-filled; no duplicate entry required.PassFoms do not ask for redundant informationYes
3.3.8 Accessible authentication30WAuthentication does not rely on visual or memory tests; accessible alternatives exist.Does Not Apply

Legal and compliance criteria

In addition to WCAG-based testing, this audit includes a brief review of legal and compliance elements commonly expected on public-facing websites. These items—such as privacy policies, terms and conditions, cookie consent, accessibility statements, and copyright notices—do not fall under WCAG but are often required by law or best practice.

Including these checks helps ensure the website meets broader compliance and transparency standards that affect user trust and organizational accountability.

Legal criteriaTest IDTest conditionResultTester commentLocationGlobal issueScreenshot
Privacy policy presence31LClearly labeled “Privacy Policy” link in footer; policy loads and is current.PassLink to Privacy Policy PDF appears in footer
Terms & conditions presence32LLink present and legible with clear ownership and user rights defined.FailAbsentNo
Cookie policy / Consent banner33LCookie notice appears on first visit; users can accept, decline, or manage preferences.FailAbsentNo
Accessibility statement34L“Accessibility” link exists with contact method and last-updated date.FailAbsentNo
Copyright notice35LFooter contains © + current year + organization name.FailAbsentNo

Usability criteria

Many usability factors—such as navigation consistency, form clarity, link purpose, and color contrast—are already addressed within the accessibility criteria earlier in this audit. This section highlights a few remaining items that further support ease of use and readability for all users.

Including these additional checks helps identify broader opportunities to enhance user experience beyond strict accessibility compliance.

Additional usability criteriaTest IDTest conditionResultTester commentLocationGlobal issueScreenshot
Plain-language readabilityU36PassContent is easily understoodYes
Mobile ResponsivenessU37PassContent reflowed properly in portrait and landscape orientations.Yes

Screenshots

The following screenshots provide visual references for selected failed tests. Each image is labeled with its corresponding Test ID from the audit tables to illustrate the specific issue identified. These examples help clarify how accessibility barriers appear in practice and support understanding of the related test results.

Test ID: 2B

Rotating gallery of images shows text on top of background images
No visible pause button for moving content on this rotating gallery.

Test ID: 5A

Screenshot of newsletter signup form shows placeholder text only without visible labels.
There are no visual labels, only placeholder text, on this newsletter Home page newsletter signup rely only on placeholder text; labels are missing.

Test ID: 5A

Screenshot of credit card form shows placeholder text only, no visible labels.
There are no visual labels, only placeholder text, on donation form credit card section.

Test ID: 5H

Screenshot of CDA confirmation page, showing that the submission of a monetary donation skipped any review or confirmation steps.
No review/confirmation step or undo before final submission for monetary donation

Test ID: 6A

Screenshot of home page segment with ANDI accessibility tool open showing insufficient descriptive link text for repeated links
Repeated links like ‘See more details’ lack unique purpose or programmatic name

Test ID: 6A

Home page segment with ANDI accessibility tool open showing the absence of link text for Facebook social media icon.
Link has no name or descriptive text

Test ID: 7A

Home page segment with ANDI accessibility tool open showing absence of alt text for a meaningful graphic of sponsors.
“Thank you to our sponsors” image has no alt text informing who the sponsors are.

Test ID: 7A

Home page segment with ANDI accessibility tool open showing absence of alt text for logos of CDA partners and friends.
“Partners and Friends” logos do not have alt text.

Test ID: 7A

Home page segment with ANDI accessibility tool open showing the alt text "Amazon smile" for a graphic depicting the "City Market Community Rewards Program".
Alt text for “Support CDA when you shop” is “Amazon smile”, which is not meaningful.

Test ID: 10B

Home page segment with ANDI accessibility tool open showing paragraph text marked as an h1 heading.
Non-sectional content (e.g., descriptive text and short phrases) is programmatically marked as headings

Test ID: 10C

Home page segment with ANDI accessibility tool open showing subheadings programmed as h1 headings.
Heading levels skip or repeat non-hierarchically (e.g., H1 used for multiple section titles).

Test ID: 10D

Vsual list of footer nav items.
Footer navigation lists are not programmically identified as lists
Footer navigation’s HTML code showing that list structure is not used.
A detailed look into Dev Tools shows the correct list structure is missing

Test ID: 12C

Home page segment with ANDI accessibility tool open showing Volunteer Application iFrame is missing a title.
Volunteer application iFrame is missing a title.

Test ID: 12C

Home page segment with ANDI accessibility tool open showing Volunteer page video iFrame is missing a title.
Volunteer video iframe is missing a title.

Test ID: 13C

Home page segment with ANDI accessibility tool open showing insufficient color contrast for newsletter signup placeholder text.
Low contrast placeholder text
Home page segment with ANDI accessibility tool open showing insufficient color contrast for a segment of footer text.
Low contrast text
Home page segment with ANDI accessibility tool open showing manual testing is needed for text on top of graphic.
Text on graphics needs manual testing.
Manual contrast testing in the WebAIM Contrast Checker showing insufficient contrast between text and the background image.
Manual testing shows text on graphics fails WCAG AA requirements

Test ID: 21W

Rotating gallery showing button on top of graphic.
Buttons on rotating gallery do not have sufficient contrast against background images. Failed manual testing

Test ID: 25W

Header navigation links showing a 2px dotted outlined focus indicator.
The focus indicator meets the 2px thickness requirement but is dotted, which reduces visibility. Recommend changing it to a solid line.

Test ID: 27W

Upcoming events segment showing repeated links that are smaller than 24 px height.
See more details link is not 24 pixels tall.

Client-focused auditing

This audit demonstrates the value of a structured, manual accessibility evaluation using the Trusted Tester v5.1.3 framework expanded with WCAG 2.2 AA and usability criteria. In a client setting, the approach can be adapted to meet specific goals—whether conducting a full Trusted Tester assessment using the official SCRT reporting tool available to registered testers for federal or internal documentation, or providing collaborative remediation guidance alongside designers and developers.

This flexible approach ensures accessibility is not only compliant but also integrated into every stage of design and development.