Skip to content

Accessibility

yuriy edited this page Oct 19, 2026 · 1 revision

Accessibility

Sextant can be used with the keyboard alone and with a screen reader, its colours are readable in the light and the dark theme, and it calms down when your system asks for reduced motion. Every screen is checked automatically with axe in the test suite, and the theme colours are checked against WCAG AA contrast.

Contents: Keyboard shortcuts · Tables · Dialogs · The dock and the terminal · Screen readers · Contrast and focus · Reduced motion · Zoom · Known issues

Keyboard shortcuts

On macOS, Cmd takes the place of Ctrl where noted.

Key Where What it does
Ctrl+K (Cmd+K) Anywhere Open the command palette
Ctrl+Shift+K (Cmd+Shift+K) In a text field, a terminal or the YAML editor Open the command palette (there plain Ctrl+K belongs to the field)
↑ / ↓, Page Up / Page Down, Ctrl+Home / Ctrl+End, Enter Command palette Move through the results, run the chosen one
Tab / Shift+Tab Anywhere Move between controls; a table and the dock's tab list are one stop each
↑ / ↓ Table Previous / next row
Home / End Table First / last row
Page Up / Page Down Table One screen of rows up / down
Enter Table row Open the details
Space Table row Tick / untick the row
Shift+F10 or the context-menu key Table row Open the row's actions (the ⋮ menu)
Escape Dialog, menu, details panel Close it; the focus goes back to where you were
← / → Dock tabs Previous / next tab
Home / End Dock tabs First / last tab
Delete Dock tab Close the tab
Escape Dock tab Go back to what was focused before the tab opened
Ctrl+Shift+E Terminal Leave the terminal: the focus moves to its dock tab
Ctrl+Shift+C / Ctrl+Shift+V Terminal Copy the selection / paste
Ctrl+Shift+← / → / ↑ / ↓ Terminal with panes Move to the pane in that direction (see Terminal)
Ctrl+Space YAML editor Show completions
F1 YAML editor Explain the field at the cursor (see YAML editor)
Ctrl+= (Cmd+=) Anywhere Zoom in
Ctrl+- (Cmd+-) Anywhere Zoom out
Ctrl+0 (Cmd+0) Anywhere Back to 100 %

Tables

A resource table is one Tab stop: the focus lands on one row (the last one you were on, kept while the list updates) and the arrow keys move from there, scrolling long lists as needed. The row's checkbox and ⋮ button are reachable with Tab only in the focused row. Enter opens the details, Space ticks the row, Shift+F10 or the context-menu key opens its actions.

When the details panel opens, the focus moves to its heading; Escape or Close gives it back to the row you came from.

Dialogs

A dialog keeps the focus inside while it is open (Tab wraps around), and Escape closes it. When a dialog opens on top of another, only the top one reacts to Tab and Escape; when it closes, the focus goes back to the dialog below, or to the button that opened it. The first focus is predictable: in a confirmation, or next to a dangerous button such as Delete, it is on Cancel; otherwise on the first text field.

The confirmation that an AI agent or an extension asks for always stays on top while it is shown, and the command palette does not open over it. Its Allow button ignores the keyboard for one second (and clicks for a moment) after the request appears, so a request that pops up while you are typing elsewhere cannot be approved by a stray Tab and Enter. Deny works at once and has the first focus.

The dock and the terminal

The dock's tabs (logs, terminals, editors) work like tabs everywhere: Tab reaches the active one, ← and → move between them, Delete closes one, and Escape goes back to what you were doing before the tab opened.

A terminal receives every key, so Tab and Escape go to the shell. Ctrl+Shift+E is the one key it never takes: it moves the focus to the terminal's dock tab (the shell still gets Ctrl+E). It works with any keyboard layout — on a layout that types no Latin letter on that key (Cyrillic, for example) the physical E key counts. Screen readers announce the key when you enter a terminal.

Screen readers

  • Buttons that show only an icon have names; tables, tabs, menus and dialogs have the roles screen readers expect.
  • A table announces how many rows it shows after you change its search or filter (not on every update).
  • A log view does not read each new line aloud. While the focus is in a log, Sextant says "N new lines" at most every 15 seconds.
  • Loading, errors and other status messages are announced politely, without interrupting.
  • Status is never told by colour alone: a cluster's connection is shown by a dot, a ring or a diamond, and problems carry text.

Sextant was checked with the accessibility tree of its window and with automated tests; if a screen reader reads something wrongly, please open an issue.

Contrast and focus

Text and status colours reach a contrast of at least 4.5:1, and focus rings and chart lines at least 3:1, in both themes (WCAG 2.2 AA). A test computes these ratios from the theme's colours, so a change that breaks them does not pass. The focused control always has a visible ring.

Reduced motion

When your system asks for reduced motion (GNOME: Settings → Accessibility → Reduce Animation; macOS: Accessibility → Display → Reduce motion; Windows: Settings → Accessibility → Visual effects → Animation effects off), Sextant turns off its transitions and animations, loading spinners included.

Zoom

Ctrl+= and Ctrl+- (Cmd on macOS) zoom the whole window (in steps of 20 % on Linux and macOS, from 20 % to 1000 %), Ctrl+0 goes back to 100 %; Ctrl with the mouse wheel zooms too. The zoom is not saved: Sextant starts at 100 %.

Known issues

  • On GNOME with IBus, Ctrl+Shift+E may be taken by IBus's emoji input before Sextant sees it. Change or turn off that IBus shortcut (ibus-setup → Emoji), then Ctrl+Shift+E leaves the terminal again.

Clone this wiki locally