Accessibility Conformance Report for Primer Docs

(Based on VPAT® Version 2.4)

Report Date

This report was last updated on March 28, 2025.

Product Description

Primer Docs hosts documentation for Primer, an open-source design system developed by GitHub.

Contact Information

Please share questions or comments on the accessibility community discussion page.

Scope

The scope of this report includes the following commands in the GitHub CLI application:

  • Primer Header
  • Shared Foundations
  • Main Region: Primer Product UI
  • Foundations: Color Usage, Layout, Typography
  • Components: Button, Checkbox, Dialog, Tooltip
  • React Hooks: useDetails, useFocusTrap, useTheme
  • CSS Utilities: Flexbox, Grid, Typography
  • Contribute: Adding new components, Documentation, How to contribute
  • Primer Brand UI: Navigation, Search
  • Introduction: Getting Started, Theming, Animation
  • Primitives: Colors, Layout, Box, Stack
  • Typography: Heading, Text
  • Forms: Radio, Select, Textarea, Text Input

Evaluation Methods Used

Scenarios were tested using:

  • Keyboard-only interactions
  • JAWS and NVDA with Google Chrome
  • axe
  • Colour Contrast Analyzer
  • Platform features such as high contrast and zoom

Applicable Standards/Guidelines

This report reflects outstanding issues found by an audit based on the level A and AA criteria of the Web Content Accessibility Guidelines version 2.2 (WCAG 2.2 AA).

Terms

  • Supports: The functionality of the product has at least one method that meets the criterion without known defects or meets with equivalent facilitation.
  • Partially Supports: Some functionality of the product does not meet the criterion.
  • Does Not Support: The majority of product functionality does not meet the criterion.
  • Not Applicable: The criterion is not relevant to the product.
  • Not Evaluated: The product has not been evaluated against the criterion.

WCAG 2.2

Level A Success Criteria

Success Criteria Conformance Level Remarks and Explanations
1.1.1 Non-text Content

Supports

1.2.1 Audio-only and Video-only (Prerecorded)

Supports

1.2.2 Captions (Prerecorded)

Supports

1.2.3 Audio Description or Media Alternative

Supports

1.3.1 Info and Relationships

Partially Supports

Exceptions include:

  • [PrimerProdUI8.15] Text-'On this Page' is not programmatically defined as heading
1.3.2 Meaningful Sequence

Supports

1.3.3 Sensory Characteristics

Supports

1.4.1 Use of Color

Supports

1.4.2 Audio Control

Supports

2.1.1 Keyboard

Supports

2.1.2 No Keyboard Trap

Supports

2.1.4 Character Key Shortcuts

Supports

2.2.1 Timing Adjustable

Supports

2.2.2 Pause Stop Hide

Supports

2.3.1 Three Flashes or Below Threshold

Supports

2.4.1 Bypass Blocks

Supports

2.4.2 Page Titled

Supports

2.4.3 Focus Order

Partially Supports

Exceptions include:

  • [PrimerBrandUI8.1] Keyboard focus order is not logical after 'Light' control
2.4.4 Link Purpose (In Context)

Supports

2.5.1 Pointer Gestures

Supports

2.5.2 Pointer Cancellation

Supports

2.5.3 Label in Name

Supports

2.5.4 Motion Actuation

Supports

3.1.1 Language of Page

Partially Supports

Exceptions include:

  • [PrimerBrandUI1.1] Page does not have `lang` attribute defined
3.2.1 On Focus

Supports

3.2.2 On Input

Supports

3.2.6 Consistent Help

Not Evaluated

3.3.1 Error Identification

Partially Supports

Exceptions include:

  • [PrimerBrandUI8.8] On providing invalid input on the email control no error message displayed
3.3.2 Labels or Instructions

Supports

3.3.7 Redundant Entry

Not Evaluated

4.1.2 Name Role Value

Partially Supports

Exceptions include:

  • [PrimerProdUI11.2] Label is not defined for the form element
  • [Screen Reade-PrimerBrandUI8.6] Combo box does not have an accessible name
  • [PrimerBrandUI8.7] Label is not defined for the form element
  • [PrimerBrandUI8.8] Label is not defined for the form element

Level AA Success Criteria

Success Criteria Conformance Level Remarks and Explanations
1.2.4 Captions (Live)

Supports

1.2.5 Audio Description (Prerecorded)

Supports

1.3.4 Orientation

Supports

1.3.5 Identify Input Purpose

Supports

1.4.3 Contrast (Minimum)

Supports

1.4.4 Resize text

Supports

1.4.5 Images of Text

Supports

1.4.10 Reflow

Partially Supports

Exceptions include:

  • [PrimerProdUI8.48] On setting the viewport to 320*256 px, text is getting truncated
  • [PrimerProdUI10.7] On setting the viewport to 320*256 px, text is getting overlapped
  • [PrimerProdUI5.4] Two-dimensional scrolling is required to read the contents of the page upon setting the viewport to 320*256 px
  • [PrimerProdUI3.3] Two-dimensional scrolling is required to read the contents of the page upon setting the viewport to 320*256 px
1.4.11 Non-text Contrast

Partially Supports

Exceptions include:

  • [PrimerProdUI8.2] Luminosity contrast ratio for the orange with base line indication is 2.3:1
  • [PrimerBrandUI8.1] Luminosity contrast ratio for the selected indicator is 2.3:1
1.4.12 Text-spacing

Supports

1.4.13 Content on Hover or Focus

Supports

2.4.5 Multiple Ways

Supports

2.4.6 Headings and Labels

Supports

2.4.7 Focus Visible

Partially Supports

Exceptions include:

  • [PrimerProdUI7.6] Keyboard focus indicator is not visible on Play/Pause button
2.4.11 Focus Not Obscured (Minimum)

Not Evaluated

2.5.7 Dragging Movements

Not Evaluated

2.5.8 Target Size (Minimum)

Not Evaluated

3.1.2 Language of Parts

Supports

3.2.3 Consistent Navigation

Supports

3.2.4 Consistent Identification

Supports

3.3.3 Error Suggestion

Supports

3.3.4 Error Prevention (LFD)

Supports

3.3.8 Accessible Authentication (Minimum)

Not Evaluated

4.1.3 Status Messages

Partially Supports

Exceptions include:

  • [PrimerProdUI1.1] Screen reader does not announce search results for valid input
  • [PrimerProdUI8.15] Screen Reader does not announce 'Collapse Code' information on activating Show Full code button
  • [PrimerProdUI8.15] Screen Reader does not announce Copied Status message on activating Copy button

Disclaimer

©2025 GitHub Inc. All rights reserved. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. The information contained in this document represents the current view of GitHub Inc. on the issues discussed as of the date of publication. GitHub cannot guarantee the accuracy of any information presented after the date of publication.

GitHub’s WCAG 2.2 conformance reports provide the information included in ITI’s “VPAT® 2.5 WCAG (November 2023)” template. “Voluntary Product Accessibility Template” and “VPAT” are registered service marks of the Information Technology Industry Council (ITI). This document includes material copied from or derived from the Web Content Accessibility Guidelines (WCAG 2.2). Copyright © 2017-2018 W3C® (MIT, ERCIM, Keio, Beihang). This document is not the Web Content Accessibility Guidelines (WCAG) and should not be used as a substitute for it. Excerpts of WCAG are referenced solely for purposes of detailing GitHub’s conformance with the relevant provisions. A full and complete copy of the Guidelines is available from the W3C WAI.

GitHub regularly updates its websites and provides new information about the accessibility of products as that information becomes available. Customization of the product voids this conformance statement from GitHub. Customers may make independent conformance statements if they have conducted due diligence to meet all relevant requirements for their customization. Please consult with Assistive Technology (AT) vendors for compatibility specifications of specific AT products. This document is for informational purposes only. GitHub MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.