You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Accessibility] Complete keyboard, focus, and shortcut behavior in Theme Manager
Draft status: ready to create; not submitted by the audit run.
Priority: P1
Findings: ACT-016, ACT-017, ACT-018, ACT-033
Summary
Theme Manager declares dialog, tab, listbox, and option semantics, but the corresponding keyboard/focus model is incomplete. A global Ctrl/Cmd+C shortcut can also override normal text copying, and several important labels/status messages are rendered at very small sizes.
中文摘要:Theme Manager 已声明复杂 ARIA 语义,但没有完整实现对应键盘交互;授权弹窗缺少焦点隔离/恢复,全局复制快捷键可能覆盖正常复制,小字密度也偏高。需要按原生控件或 APG 完整实现。
Audit evidence
The persistence consent UI is a custom div role="dialog"; the code focuses the confirm button but does not provide a full focus trap, background inert state, or focus restoration.
tablist, tab, listbox, and option roles are present without complete Arrow/Home/End/roving-tabindex/tabpanel behavior.
Global Ctrl/Cmd+C may trigger “copy theme” outside the search box without first checking the current text selection or all editable/control contexts.
The repository screenshot and CSS show dense secondary metadata and some labels/status/consent copy around 7–10 px.
Proposed direction
Prefer native <dialog> and ordinary buttons/lists when composite-widget behavior is not necessary.
If tabs/listbox semantics remain, implement the full WAI-ARIA Authoring Practices keyboard and focus model.
Centralize shortcut context checks and do not intercept platform copy when text is selected or focus is editable/control/dialog content.
Raise essential text and risk-copy sizes; move full hashes/provenance details into secondary disclosure.
Add automated keyboard and axe tests plus manual NVDA/VoiceOver/high-contrast checks.
Acceptance criteria
Consent uses native <dialog> or an equivalent fully tested focus trap with background inert, Escape behavior, safe initial focus, and trigger focus restoration.
Tabs/listbox either implement Arrow/Home/End/typeahead/roving tabindex/selection correctly or are replaced with simpler native semantics.
Ctrl/Cmd+C preserves normal copy whenever there is a non-collapsed selection or focus is in an editable/control/dialog context; any theme-copy shortcut is documented and conflict-free.
Focus remains visible in default, forced-colors/high-contrast, and reduced-motion modes.
Essential body/risk/status text remains readable at 125%, 150%, and 200% scaling and in a smaller supported window.
Automated tests include focus order, dialog containment/restoration, composite keyboard behavior, shortcut context, and axe serious/critical checks.
Accessible names and error/status messages participate in the existing language switch.
Related audit findings
ACT-016, ACT-017, ACT-018, ACT-033.
Reference snippets are available in demo/ui/accessible-consent-dialog.html, demo/ui/accessible-dialog.js, and demo/ui/roving-listbox.js in the audit bundle.
[Accessibility] Complete keyboard, focus, and shortcut behavior in Theme Manager
Summary
Theme Manager declares dialog, tab, listbox, and option semantics, but the corresponding keyboard/focus model is incomplete. A global Ctrl/Cmd+C shortcut can also override normal text copying, and several important labels/status messages are rendered at very small sizes.
中文摘要:Theme Manager 已声明复杂 ARIA 语义,但没有完整实现对应键盘交互;授权弹窗缺少焦点隔离/恢复,全局复制快捷键可能覆盖正常复制,小字密度也偏高。需要按原生控件或 APG 完整实现。
Audit evidence
div role="dialog"; the code focuses the confirm button but does not provide a full focus trap, background inert state, or focus restoration.tablist,tab,listbox, andoptionroles are present without complete Arrow/Home/End/roving-tabindex/tabpanel behavior.Proposed direction
<dialog>and ordinary buttons/lists when composite-widget behavior is not necessary.Acceptance criteria
<dialog>or an equivalent fully tested focus trap with background inert, Escape behavior, safe initial focus, and trigger focus restoration.Related audit findings
ACT-016,ACT-017,ACT-018,ACT-033.Reference snippets are available in
demo/ui/accessible-consent-dialog.html,demo/ui/accessible-dialog.js, anddemo/ui/roving-listbox.jsin the audit bundle.