Gryt

Accessibility

Our commitment and roadmap toward full accessibility

Gryt's goal is to be a fully accessible voice chat platform. Accessibility is not an afterthought — it is a core design principle that shapes every decision we make, from the fonts we ship to the components we build. We’re working toward full accessibility across the entire product.

Why accessibility matters

Voice chat platforms are inherently social tools. If they aren't accessible, they exclude the very people who could benefit most from low-friction, real-time communication. We believe everyone deserves equal access to online communities regardless of visual, motor, auditory, or cognitive ability.

Typography: Atkinson Hyperlegible

Gryt uses Atkinson Hyperlegible Next as its primary typeface and Atkinson Hyperlegible Mono for all monospaced text (code blocks, hotkey badges, debug panels, and technical displays).

Atkinson Hyperlegible was created by the Braille Institute of America with one goal: maximum legibility. Traditional typefaces optimize for aesthetics; Atkinson Hyperlegible optimizes for character differentiation. Key design decisions include:

  • Exaggerated letter forms — Characters like I, l, 1 and 0, O, Q are unambiguously distinct, reducing misreadings for users with low vision.
  • Open apertures — Letters like c, e, and s have wider openings so they remain distinguishable at small sizes or low resolutions.
  • Asymmetric shapes — Mirrored letters such as b/d and p/q have subtle asymmetries that make them easier to tell apart.
  • Variable weight axis — The font ships as a single variable file supporting weights 200–900, so we can use it everywhere from thin labels to bold headings without loading extra files.

The mono variant applies these same legibility principles to fixed-width text, making it significantly easier to read code, IP addresses, keybinds, and latency numbers compared to traditional monospace fonts.

Current accessibility features

Keyboard navigation

Core flows — chat input, voice-control hotkeys, and Radix-based dialogs — are operable with the keyboard. However, some interactive elements (video cards, reply links, the image lightbox, and the focused-video overlay) are not yet keyboard-accessible, and list views (channels, servers, members) do not support arrow-key navigation. We are working toward full keyboard operability for every interactive element.

Configurable hotkeys

Users can rebind push-to-talk, mute, deafen, and disconnect to any key combination via Settings → Hotkeys. This lets users with limited mobility choose key placements that work for them. Camera and screen-share toggles are not yet rebindable.

Screen reader support

The client is built on Radix UI primitives, which provide a baseline of ARIA roles and keyboard interactions for dialogs, menus, and form controls. However, comprehensive screen-reader support is still in progress: many icon-only buttons lack aria-label attributes, the layout does not yet use semantic HTML landmarks (<nav>, <main>, <aside>), and voice-state changes (mute, deafen, speaking) are not yet announced via ARIA live regions.

Theme support

Gryt supports light and dark themes with system-preference detection. Both themes use the Radix UI color system, which targets WCAG AA contrast ratios. A formal, independent contrast audit has not yet been completed, and we are working toward full AAA compliance.

Focus management

Radix-based modals and dialogs trap focus correctly, and tab order follows a logical reading sequence (no tabIndex > 0 values). Custom overlays — the image lightbox, the emoji picker, and the focused-video view — do not yet trap focus or restore focus on close. We are actively closing these gaps.

Roadmap

We're working toward full WCAG 2.2 AA compliance across the entire platform. Current priorities include:

  • Keyboard handlers and ARIA roles for all custom interactive elements (video cards, reply links, lightbox)
  • Arrow-key navigation for channel, server, and member lists
  • aria-label on every icon-only button
  • Semantic HTML landmarks throughout the layout
  • ARIA live regions for voice-state changes and chat messages
  • Focus trapping and focus-return for custom overlays
  • Rebindable hotkeys for camera and screen-share toggles
  • Formal WCAG AA contrast audit with a path to AAA
  • Reduced-motion mode
  • High-contrast theme
  • Real-time captioning

See the roadmap for the full list of planned accessibility improvements.

Contributing to accessibility

If you encounter an accessibility barrier in Gryt, please open an issue and label it accessibility. We treat accessibility bugs with the same urgency as security issues.

We also welcome contributions that improve accessibility — see the contributing guide for how to get started.

On this page