7. Accessibility

Target: UI-4 at 1.0; structure and ARIA are built from 0.1.

Esta página está em inglês; a tradução está a caminho.

Target: UI-4 at 1.0; structure and ARIA are built from 0.1.

7.1 Focus order and regions#

F6 / Shift+F6 cycle regions while focus is inside the editor; Ctrl+F6 leaves it (§6.7). Tab moves within a region.

# Region Landmark Notes
1 Left panel header region “File” Main menu, collapse
2 Left tabs tablist
3 Pages tree “Pages”
4 Layers tree “Layers” Every canvas node is reachable here
5 Canvas application, aria-roledescription="design canvas" One tab stop; arrows nudge; Tab cycles siblings; live region announces selection (“Button, instance, 326 by 48”)
6 Tool bar toolbar “Tools” Roving tabindex
7 Right panel header region “Document”
8 Right tabs and properties tablist, then form per section Section titles are headings
9 Status strip region “Status” Buttons

Popovers return focus to their opener. Modals trap focus. Ctrl+Shift+? opens the Keyboard Shortcuts panel (a modal 640 listing commands by category with search).

7.2 ARIA per component#

Component Role and attributes
ud-toolbar toolbar, aria-label
ud-tool-button, ud-icon-button button, aria-label, aria-pressed for toggles, aria-keyshortcuts
ud-tool-group button with aria-haspopup="menu" on the chevron
ud-tabs tablist / tab / tabpanel, aria-selected, aria-controls
ud-section heading level 3; collapsible: button + aria-expanded
ud-number-field spinbutton, aria-valuenow, aria-valuetext (“Mixed”, “Hug”), aria-invalid
ud-text-field, ud-search-field textbox / searchbox
ud-dropdown combobox + listbox / option
ud-segmented radiogroup / radio
ud-checkbox, ud-toggle checkbox (with mixed) / switch
ud-layer-tree, ud-layer-row, ud-page-row tree / treeitem, aria-level, aria-expanded, aria-selected, aria-setsize, aria-posinset
ud-asset-tile grid grid / gridcell, or listbox / option in list view
ud-menu menu / menuitem / menuitemcheckbox / separator
ud-tooltip tooltip, aria-describedby
ud-toast status or alert
ud-modal dialog, aria-modal, aria-labelledby
ud-banner status
ud-agent-badge status; Stop button
ud-comment-pin button “Comment by Arthur, 2 replies”
ud-step-row listitem in a log region (aria-live="polite")
Colour picker SV area, sliders slider with aria-valuetext (“Saturation 40 %”)

7.3 Visual accessibility#

Rule Value
Focus Always visible on keyboard focus (:focus-visible), never removed
Contrast Chrome inherits theme contrast; custom overlays (size label, distance labels) keep white on focus/red (≥ 4.5:1 in Dark Modern and Light Modern)
Hit targets 24 × 24 minimum; canvas handles have 12 px hit areas
Colour not alone Component state uses icon + colour; diff uses icon + colour + label; comment state uses fill + icon
Reduced motion §2.10
Zoom Layout works at VS Code zoom levels −2 to +3 (webview scales)