Accessibility Conformance Report for Primer Docs

Report Date

This report was last updated on February 12, 2026.

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 content in the Primer docs:

  • 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.6] Screen reader does not announce the total count and position information for list items
  • [PrimerProdUI8.37] Screen reader announces incorrect information for 'label' control
  • [PrimerProdUI8.16] Screen reader does not announce the required information for 'Choices' control
  • [PrimerProdUI7.2] Table header text is not defined
  • [PrimerBrandUI8.3] 'Select a handle' is unnecessarily defined under list
1.3.2 Meaningful Sequence

Supports

1.3.3 Sensory Characteristics

Supports

1.4.1 Use of Color

Partially Supports

Exceptions include:

  • [PrimerProdUI11.4] Contrast ratio for 'including the link' link with surrounding text is 1:1
  • [PrimerProdUI4.3] Link- 'Lookbook' must be distinguishable without relying on color
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

Partially Supports

Exceptions include:

  • [PrimerProdUI7.11] No mechanism is provided to pause, stop or hide the auto-playing video
  • [PrimerBrandUI5.3] No mechanism is provided to pause, stop or hide the auto-playing video
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:

  • [PrimerProdUI11.2] Keyboard focus lands on hidden control
  • [PrimerProdUI8.18] Keyboard focus order is not logical in forward navigation
  • [PrimerBrandUI7.32] Keyboard focus order is not logical
  • [PrimerHomepage1.1] Keyboard focus order is not logical
2.4.4 Link Purpose (In Context)

Partially Supports

Exceptions include:

  • [PrimerProdUI12.4] 'Here' link is not descriptive enough
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

Supports

3.2.1 On Focus

Supports

3.2.2 On Input

Supports

3.2.6 Consistent Help

Supports

3.3.1 Error Identification

Supports

3.3.2 Labels or Instructions

Supports

3.3.7 Redundant Entry

Supports

4.1.2 Name Role Value

Partially Supports

Exceptions include:

  • [PrimerProdUI8.15] Aria attribute is not used as specified for the element's role

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)

Partially Supports

Exceptions include:

  • [PrimerProdUI3.4] Luminosity contrast ratio for 'Warning and other' text is 4.36:1 in dark theme
  • [PrimerBrandUI1.1] Luminosity contrast ratio for the text 'Skip to main content' is 1:1
  • [PrimerBrandUI3.1] Luminosity contrast ratio for the text 'import' is 4.29:1
  • [PrimerProdUI6.2] Luminosity contrast ratio for the text 'Aa' is 3.5:1
1.4.4 Resize text

Partially Supports

Exceptions include:

  • [PrimerProdUI8.28] "+4 " control is getting cutoff upon zooming the page to 200%
1.4.5 Images of Text

Supports

1.4.10 Reflow

Partially Supports

Exceptions include:

  • [PrimerProdUI11.2] In 320*256px Two-dimensional scrolling is required to read the contents of the page
  • [PrimerProdUI8.42] On setting viewport to 320×256 px, controls are getting cut off
  • [PrimerProdUI8.45] On setting viewport to 320×256 px, 'Danger zone' text is getting cut off
  • [PrimerProdUI8.13] On setting viewport to 320×256 px, 'Primary and Danger' control is getting cut off
  • [PrimerProdUI8.8] On setting viewport to 320×256 px, 'AvatarStack' control is getting cut off
  • [PrimerProdUI8.2] On setting viewport to 320×256 px, 'Export to CSV' control is getting cut off
  • [PrimerProdUI8.49] On setting viewport to 320×256 px, 'Zero and One' control is getting cut off
  • [PrimerProdUI8.53] On setting viewport to 320×256 px, 'controls' are getting cut off
  • [PrimerProdUI8.57] On setting viewport to 320×256 px, options under the 'More Action' control are not visible
  • [PrimerProdUI10.15] Two-dimensional scrolling is required to read the contents of the page upon setting the viewport to 320*256 px
  • [PrimerProdUI10.3] Two-dimensional scrolling is required to read the contents of the page upon setting the viewport to 320*256 px
  • [PrimerProdUI10.2] On setting viewport to 320×256 px, 'Could not load......' text is getting cut off
  • [PrimerProdUI7.5] On setting viewport to 320×256 px, 'Edit in Figma' control is getting cut off
  • [PrimerProdUI4.1] Two-dimensional scrolling is required to read the contents of the page upon setting the viewport to 320*256 px
  • [PrimerBrandUI2.2] On setting the viewport to 320*256 px, page does not scroll with the keyboard focus
  • [PrimerBrandUI8.7] Controls under 'Displaying form validation state' heading gets cut off in 320px*256px viewport
  • [PrimerProdUI8.34] On setting the viewport to 320*256 px, pagination control is not visible
  • [PrimerProdUI8.32] Two-dimensional scrolling is required to read the contents of the page upon setting the viewport to 320*256 px
  • [PrimerProdUI8.28] On setting viewport to 320×256 px, content is getting cut off
  • [PrimerProdUI8.22] Two-dimensional scrolling is required to read the contents of the page upon setting the viewport to 320*256 px
  • [PrimerProdUI7.3] Two-dimensional scrolling is required to read the contents of the page upon setting the viewport to 320*256 px
  • [PrimerBrandUI7.21] Text under 'Marquee' heading cut off in 320px*256px viewport
  • [PrimerProdUI3.5] Two-dimensional scrolling is required to read the contents of the page upon setting the viewport to 320*256 px
  • [PrimerBrandUI4.1] In 320*256px mode color code '#f6f8fa' is getting cutoff
  • [PrimerBrandUI3.2] On setting the viewport to 320*256px, content is overlapping
  • [PrimerProdUI11.7] On setting the viewport to 320*256 px, text is getting overlapped
  • [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

Partially Supports

Exceptions include:

  • [PrimerBrandUI7.31] Upon applying text spacing, text is getting cutoff
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:

  • [PrimerProdUI3.2] Keyboard focus indicator is not visible on the 'All scale frames' controls
  • [PrimerBrandUI8.8] Keyboard focus indicator is not visible on the controls in dark theme
2.4.11 Focus Not Obscured (Minimum)

Supports

2.5.7 Dragging Movements

Supports

2.5.8 Target Size (Minimum)

Supports

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)

Supports

4.1.3 Status Messages

Partially Supports

Exceptions include:

  • [PrimerProdUI1.1] Screen reader is not announcing the search result information for invalid input
  • [PrimerBrandUI2.2] Screen reader is not announcing the search result information for invalid 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.