Accessibility
Readable at a glance, at night, in direct sun and under stress, by everyone aboard.
On this page
Contrast
Every text role against the page surface, in all four themes. Each ratio is computed from the token
values, so a token change that drops below 4.5:1 shows up here at once. Where a cell is under the floor, that role
does not carry text in that theme: Dusk's alarm color, Day's accent, alarm, warning and caution, and Bright's accent,
warning and caution. Accent-colored text takes --bk-action-text, the theme's readable accent step, and text in an
alert's color takes --bk-alert-*-text (color as text), which reads at 4.5:1 everywhere.
Night's dim and faint text is the one role held under the floor, at 3.9:1, to keep the crew's dark adaptation: it
carries labels, never values.
| Token | Night | Dusk | Day | Bright |
|---|---|---|---|---|
--textPrimary text and values | #EAA75E10.2:1 | #E7E9EC16.1:1 | #17181C16.0:1 | #0B0C0F19.6:1 |
--text-dimLabels and secondary text | #8F61303.9:1 | #8B8F986.0:1 | #5B60685.7:1 | #4B50588.1:1 |
--text-faintSection labels, sources | #8F61303.9:1 | #878B945.7:1 | #666B754.8:1 | #5D626B6.1:1 |
--accentAccent text, active icons | #FFC87813.8:1 | #14B8A67.9:1 | #0D94883.4:1 | #0D94883.7:1 |
--alert-alarm-colorAlarm word and shape | #E90F204.6:1 | #E1000E3.9:1 | #E300194.4:1 | #EB00144.6:1 |
--alert-warning-colorWarning word and shape | #BA5A004.6:1 | #FA7D007.4:1 | #FE94132.0:1 | #FE94132.2:1 |
--alert-caution-colorCaution word and shape | #8973004.5:1 | #FFCC1612.9:1 | #FFDB421.2:1 | #FFDB421.4:1 |
Color never codes alone
Night uses a subdued amber interface palette while instruments and alert roles retain their own treatments. Each alert priority has a color, a shape and a word. The shape and the word remain necessary when colors are hard to distinguish, absent in print or changed by a display setting.
Flashing
Only an unacknowledged alarm or emergency flashes; a warning and a caution are steady. The alarm flashes 400 ms on and 400 ms off, under three flashes a second (designed with reference to WCAG 2.2 SC 2.3.1), and keeps flashing under reduced motion: it is the signal that someone has to act, and its word and color say the same without it.
Touch targets
The visible control can be small; the area that responds to a finger cannot. On a screen up to 68.75em wide, or
under a coarse pointer at any width, every touch target is at least --target-touch-size. A coarse pointer changes
a target's size, never a layout. Every visible control is at least --target-visual-size.
| Token | Value | rem | Preview |
|---|---|---|---|
--target-touch-size | 48px | 3rem | |
--target-visual-size | 32px | 2rem |
Focus
Every interactive control shows keyboard focus through the shared focus roles. The ring remains independent of selection and invalid borders and must not be clipped by its parent. Focus follows reading order through the navigation and content, with a skip link to the main region.
ACK
ACK
Reading and interaction beyond the pointer
Use document headings in order, descriptive link text and labels that remain visible beside fields. A chart needs a meaningful summary and inspectable source values; a diagram needs its relationships explained in text. A source disclosure is useful evidence, but raw syntax alone is not an adequate explanation for every reader.
Test Tab and Shift+Tab through the complete task, arrow keys inside composite controls, Escape from overlays, and focus return to the trigger. A hover hint must not contain the only copy of an error, unit or instruction. After removing a row, keep focus on a meaningful remaining control. Do not move focus when a reading updates.
Reflow and exported documents
At narrow widths and increased browser zoom, prose, metadata and actions should reflow without hiding content. Allow a wide data table or drawing to scroll inside its own frame, with the title and explanation outside it. Retain headings, captions and essential labels in print. A browser-generated PDF is not automatically a tagged, accessible document; check the actual delivered format and reading order.
Verify names and descriptions with a screen reader, colors against the actual nested surface, and state changes with forced colors and reduced motion. Automated checks identify some failures; they do not verify a complete task, data correctness or bridge-display suitability.
Checks
Run the consumer's available automated checks, then inspect keyboard behavior, announcements, reflow and contrast in the actual task. Record the tested themes and layouts; a foundation matrix or a screenshot alone does not establish that every consuming page is accessible.