Principles Before Patterns

GitHub’s “Diverse and Inclusive” value shapes how the platform is built, especially for a developer community spanning a broad range of geography and ability. Accessibility is a core part of that effort, and has guided the creation of resilient components in Primer, GitHub’s design system. The goal is to make experiences efficient and intuitive regardless of device, circumstance, or ability.

Recently, the focus has been on two high-traffic areas: lists of issues and pull requests, and information tables. The former often serves as the “homepage” for open source projects; the latter communicates complex relationships between branches, repositories, secrets, and configurations. Both are central to how developers conduct work on GitHub.

Centering Disabled Users

The most significant part of this work is direct participation of daily assistive technology users. Disabled people’s involvement from inception through design and development is indispensable. The aim is to go beyond compliance and embed accessibility into the core of the organization—only that can yield genuinely inclusive experiences.

Upgrading Issue and Pull Request Lists

A list of nine GitHub issues. The issues topics are a blend of list component work and general maintenance tasks. Each issue has a checkbox for selecting it, a status icon indicating that it is an open issue, a title, metadata about its issue number, author, creation date, and source repository. These issues also have secondary information including labels, tallies for linked pull requests and comments, avatars for issue assignees, and overflow actions. Additionally, some issues have a small badge that indicates the number of tasks the issue contains, as well as how many of them are completed. Above the list of issues is an area that lists the total number of issues, allows you to select them all, control how they are sorted, change the information display density, and additional overflow actions.

Existing assistive technology navigation patterns will remain supported, because consistency and predictability are a major part of accessibility. The updated lists will add:

  • A dedicated subheading for quickly arriving at the list itself.
  • A dedicated subheading per issue or pull request.
  • List and list item screen reader shortcut support.
  • Arrow keys, Home, and End for rapid movement through list items.
  • Focus management that permits Tab to explore content within a list item.
  • Space for selecting items and Enter to navigate to the linked issue or pull request.

These affordances let a variety of assistive technologies move through and act on these experiences efficiently.

Replacing Custom Tables

A table titled, ‘Active branches’. It has five columns and 7 rows. The columns are titled ‘branches’, ‘updated’, ‘check status’, ‘behind/ahead’, ‘pull request’, and ‘actions’. Each row lists a branch name and its associated metadata. The branch names use a GitHub user name/feature name pattern. The user names include people who worked on the table component, including Mike Perrotti, Josh Black, Eric Bailey, and James Scholes. They also include couple of subtle references to disability advocates Alice Wong and Patty Berne. The branches are sorted by last updated order, and after the table is a link titled, ‘View more branches’.

GitHub is replacing one-off table implementations with a dedicated Primer component. Consistency and predictability are key here, affecting not just expected table navigation, but also related interactions like loading content, sorting, pagination, bulk actions, and row-level actions.

To date, 75 bespoke tables have been replaced across GitHub. This progress results from close collaboration between disabled partners and design system experts, ensuring both seamless integration and improvements to underlying assistive technology support.

Iterative Improvement

The “Progress Over Perfection” philosophy shapes this effort. Accessibility is never complete; the work grows and adapts to those who rely on it. That means making positive, iterative changes based on community feedback.

Tables will continue to be updated, and the improved lists should be publicly available soon. Beyond these components, GitHub continues to invest in accessibility across services and internal culture. Additional information and feedback channels are available at accessibility.github.com.