A drop-in library and linter that makes CLI spinners, progress bars, and tables accessible to screen readers, and catches inaccessible patterns before they ship.

Stars

4

7-day growth

No data

Forks

0

Open issues

0

License

MIT

Last updated

2026-07-30

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

Addresses a documented accessibility gap in command-line tools by providing a reusable, auto-detecting solution instead of forcing each tool to reinvent the wheel.

Who it is for

  • Maintainers of CLI tools in JavaScript/TypeScript
  • Developers building command-line interfaces that need to be inclusive of blind and low-vision users
  • Accessibility engineers auditing terminal applications
  • Open-source contributors seeking to improve inclusivity of their CLI projects

Use cases

  • Adding screen-reader-friendly output to an existing CLI tool without refactoring its spinner/progress/table logic
  • Running a linter in CI to catch accessibility regressions when developers import spinner libraries
  • Configuring accessible mode via environment variables (like ACCESSIBLE=1) used across GNOME and Debian
  • Replacing ora, cli-progress, or cli-table3 with accessible versions that detect screen-reader context automatically

Strengths

  • Proven approach: mirrors the same detection and fallback pattern already adopted by Google Cloud, GitHub, and Gemini CLIs
  • Zero-config auto-detection using environment variables (TERM_A11Y, ACCESSIBLE) and non-TTY/CI detection
  • Includes a linter that scans for bare spinner/progress/table libraries and Unicode box-drawing, usable in CI
  • Small API surface: drop-in replacements require minimal code changes from popular libraries

Considerations

  • Static analysis linter uses regex and may produce false positives (e.g., flags imports guarded by accessibility checks)
  • No detection for color-only status signals (e.g., red/green without text)
  • Currently only for JavaScript/TypeScript; no ports for Python, Go, or Rust
  • Does not replace testing with real screen readers like NVDA, JAWS, or VoiceOver

README quick start

Installation

Description

Accessible spinners, progress bars, and tables for command line tools, plus a linter that catches screen reader breaking output before it ships.

Related repositories

Similar projects matched by category, topics, and programming language.

0xwilliamortiz
Featured
0xwilliamortiz GitHub avatar

openclaude-improved

OpenClaude is an open-source CLI coding agent that runs on any platform and supports a wide range of LLM providers, offering the same tools and workflows as Claude Code.

AI & Machine LearningLarge Language Models
577
jamesob
Featured
jamesob GitHub avatar

local-llm

A comprehensive guide for building and configuring a high-end local machine to run state-of-the-art LLMs, with detailed hardware choices, BIOS tuning, and Docker-based model serving.

AI & Machine LearningLarge Language Models
1,660
l0ng-ai
Featured
l0ng-ai GitHub avatar

tty7

tty7 is a fast, GPU-accelerated terminal workbench with persistent sessions, built-in input tools, SSH support, and coding agent awareness.

Developer ToolsCLI & Terminal
359