Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      What I Wish Someone Told Me When I Was Getting Into ARIA

      June 17, 2025

      SD Times 100

      June 17, 2025

      Managing the growing risk profile of agentic AI and MCP in the enterprise

      June 17, 2025

      How To Prevent WordPress SQL Injection Attacks

      June 16, 2025

      Funny Windows 11 bug brings back classic Windows boot sound from 20 years ago

      June 17, 2025

      Windows 11 news and updates in June: Microsoft’s AI agent in Settings makes adjusting your PC easier than ever

      June 17, 2025

      uBlock Origin ships to Edge for Android as Google kills it on Chrome

      June 17, 2025

      Windows Hello face unlock no longer works in the dark, and Microsoft says it’s not a bug

      June 17, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      Community News: Latest PECL Releases (06.17.2025)

      June 17, 2025
      Recent

      Community News: Latest PECL Releases (06.17.2025)

      June 17, 2025

      Stream-Omni: Simultaneous Multimodal Interactions with Large Language-Vision-Speech Model

      June 17, 2025

      How Inclusive Design Leading and Creating Solutions for Universal Design

      June 17, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Funny Windows 11 bug brings back classic Windows boot sound from 20 years ago

      June 17, 2025
      Recent

      Funny Windows 11 bug brings back classic Windows boot sound from 20 years ago

      June 17, 2025

      Windows 11 news and updates in June: Microsoft’s AI agent in Settings makes adjusting your PC easier than ever

      June 17, 2025

      uBlock Origin ships to Edge for Android as Google kills it on Chrome

      June 17, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»News & Updates»Building a more accessible GitHub CLI

    Building a more accessible GitHub CLI

    May 2, 2025

    At GitHub, we’re committed to making our tools truly accessible for every developer, regardless of ability or toolset. The command line interface (CLI) is a vital part of the developer experience, and the GitHub CLI is our product that brings the power of GitHub to your terminal.

    When it comes to accessibility, the terminal is fundamentally different from a web browser or a graphical user interface, with a lineage that predates the web itself. While standards like the Web Content Accessibility Guidelines (WCAG) provide a clear path for making web and graphical applications accessible, there is no equivalent, comprehensive standard for the terminal and CLIs. The W3C offers some high-level guidance for non-web software, but it stops short of prescribing concrete techniques, leaving much open to interpretation and innovation.

    This gap has challenged us to think creatively and purposefully about what accessibility should look like in the terminal. Our recent Public Preview is focused on addressing the needs of three key groups: users who rely on screen readers, users who need high contrast between background and text, and users who require customizable color options. Our work aims to make the GitHub CLI more inclusive for all, regardless of how you interact with your terminal. Run gh a11y in the latest version of the GitHub CLI to enable these features, or read on to learn about our path to designing and implementing them.

    Understanding the terminal landscape

    Text-based and command-line applications differ fundamentally from graphical or web applications. On a web page, assistive technologies like screen readers make use of the document object model (DOM) to infer structure and context of the page. Web pages can be designed such that the DOM’s structure is friendly to these technologies without impacting the visual design of the page.  By contrast, CLI’s primary output is plain text, without hidden markup. A terminal emulator acts as the “user agent” for text apps, rendering characters as directed by the server application. Assistive technologies access this matrix of characters, analyze its layout, and try to infer structure. As the WCAG2ICT guidance notes, accessibility in this space means ensuring that all text output is available to assistive technologies, and that structural information is conveyed in a way that’s programmatically determinable—even if no explicit markup is present.

    In our quest to improve the GitHub CLI’s usability for blind, low-vision, and colorblind users, we found ourselves navigating a landscape with lots of guidance, but few concrete techniques for implementing accessible experiences. We studied how assistive technology interacts with terminals: how screen readers review output, how color and contrast can be customized, and how structural cues can be inferred from plain text. Our recent Public Preview contains explorations into various use cases in these spaces. 

    Rethinking prompts and progress for screen readers

    One of the GitHub CLI’s strengths as a command-line application is its rich prompting experience, which gives our users an interactive interface to enter command options. However, this rich interactive experience poses a hurdle for speech synthesis screen readers: Non-alphanumeric visual cues and uses of constant screen redraws for visual or other effects can be tricky to correctly interpret as speech.


    A demo video with sound of screen reader reading legacy prompter.

    To reduce confusion and make it easier for blind and low vision users to confidently answer questions and navigate choices, we’re introducing a prompting experience that allows speech synthesis screen readers to accurately convey prompts to users. Our new prompter is built using Charm’s open source charmbracelet/huh prompting library.

    A demo of a screenreader correctly reading a prompt.

    Another use case where the terminal is redrawn for visual effect is when showing progress bars. Our existing implementation uses a “spinner” made by redrawing the screen to display different braille characters (yes, we appreciate the irony) to give the user the indication that their command is executing. Speech synthesis screen readers do not handle this well:

    A demo of a screenreader and an old spinner.

    This has been replaced with a static text progress indicator (with a relevant message to the action being taken where possible, falling back to a general “Working…” message). We’re working on identifying other areas we can further improve the contextual text.

    A demo video of the new progress indicator experience.

    Color, contrast, and customization

    Color is more than decoration in the terminal: It’s a vital tool for highlighting information, signaling errors, and guiding workflows. But color can also be a barrier—if contrast between the color of the terminal background and the text displayed on it is too low, some users will have difficulty discerning the displayed information. Unlike in a web browser, a terminal’s background color is not set by the application. That task is handled by the user’s terminal emulator. In order to maintain contrast, it is important that a command line application takes into account this variable.

    Our legacy color palette used for rendering Markdown did not take the terminal’s background color into account, leading to low contrast in some cases.

    A screenshot of the legacy Markdown palette.

    The colors themselves also matter. Different terminal environments have varied color capabilities (some support 4-bit, some 8-bit, some 24-bit, etc). No matter the capability, terminals enable users to customize their color preferences, choosing how different hues are displayed. However, most terminals only support changing a limited subset of colors: namely, the sixteen colors in the ANSI 4-bit color table. The GitHub CLI has made extensive efforts to align our color palettes to 4-bit colors so our users can completely customize their experience using their terminal preferences. We built on top of the accessibility foundations pioneered by Primer when deciding which 4-bit colors to use.

    A screenshot showing the improved Markdown palette.

    Building for the CLI community

    Our improvements aim to support a wide range of developer needs, from blind users who need screen readers, to low vision users who need high contrast, to colorblind users who require customizable color options. But this Public Preview does not mark the end of our team’s commitment to enabling all developers to use the GitHub CLI. We intend to make it easier for our extension authors to implement the same accessibility improvements that we’ve made to the core CLI. This will allow users to have a cohesive experience across all GitHub CLI commands, official or community-maintained, and so that more workflows can be made accessible by default. We’re also looking into experiences to customize the formatting of tables output by commands to be more easily read/interpreted by screen readers. We’re excited to continue our accessibility journey.

    We couldn’t have come this far without collaboration with our friends at Charm and our colleagues on the GitHub Accessibility team. 

    A call for feedback

    We invite you to help us in our goal to make the GitHub CLI an experience for all developers:

    • Try it out: Update the GitHub CLI to v2.72.0 and run gh a11y in your terminal to learn more about enabling these new accessible features.
    • Share your experience: Join our GitHub CLI accessibility discussion to provide feedback or suggestions.
    • Connect with us: If you have a lived experience relevant to our accessibility personas, reach out to the accessibility team or get involved in our discussion panel.

    Looking forward

    Adapting accessibility standards for the command line is a challenge—and an opportunity. We’re committed to sharing our approach, learning from the community, and helping set a new standard for accessible CLI tools.

    Thank you for building a more accessible GitHub with us.

    Want to help us make GitHub the home for all developers? Learn more about GitHub’s accessibility efforts.

    The post Building a more accessible GitHub CLI appeared first on The GitHub Blog.

    Source: Read More 

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleTraining LLM Agents Just Got More Stable: Researchers Introduce StarPO-S and RAGEN to Tackle Multi-Turn Reasoning and Collapse in Reinforcement Learning
    Next Article Paprius Icon Set Update Adds New Icons, Plasma 6 Support

    Related Posts

    News & Updates

    Funny Windows 11 bug brings back classic Windows boot sound from 20 years ago

    June 17, 2025
    News & Updates

    Windows 11 news and updates in June: Microsoft’s AI agent in Settings makes adjusting your PC easier than ever

    June 17, 2025
    Leave A Reply Cancel Reply

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

    Continue Reading

    100 leading AI scientists map route to more ‘trustworthy, reliable, secure’ AI

    News & Updates

    Meta Resumes E.U. AI Training Using Public User Data After Regulator Approval

    Development

    Exact Match Search with Sitecore Search

    Development

    uBlock Origin ships to Edge for Android as Google kills it on Chrome

    News & Updates

    Highlights

    Development

    Europol Issues Public Alert: ‘We Will Never Call You’ as Phone and App Scams Surge

    May 8, 2025

    In a warning that could not be more direct, Europol — the European Union’s law…

    Cisco warns of ISE and CCP flaws with public exploit code

    June 4, 2025

    CVE-2025-20046 – Intel PROSet/Wireless WiFi Software Use-After-Free Denial of Service

    May 13, 2025

    I struggled with recommending iPad models – but this one just made it so much easier

    May 1, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.