# 1. Live Region(aria-live=polite/aria-live=assertive) A polite 会立即打断当前播报 B 所有动态内容都应使用 assertive C aria-live 只对鼠标用户有效 D assertive 立即播报并打断当前内容,适合紧急错误提示;polite 排队播报适合非紧急更新 ✓ 正确答案
# 2. ARIA combobox/listbox/grid/menu/menubar/tablist 等角色与模式(Pattern) A 只要加 role 就能自动获得键盘行为 B role="menu" 与 role="listbox" 永远等价 C combobox/listbox/menu/tablist 等角色各有对应的键盘交互模式,需按 APG 实现 ✓ 正确答案 D tablist 用上下箭头切换标签
# 3. aria-live 区域在动态内容的应用 A aria-live 只用于图片 B 动态创建的 live region 播放最稳定 C 整个列表都应设为 live 以获得最完整播报 D 应在页面静态渲染 live region,并只播报关键变化 ✓ 正确答案
# 4. ARIA Authoring Practices Guide(APG) A APG 是私人博客,非官方标准 B APG 已废弃,被 WAI-ARIA 1.3 取代 C APG 只规定 ARIA 理论,与技术实现无关 D APG 提供复杂组件(dialog、menu、combobox 等)的键盘交互、焦点管理与 HTML 结构规范 ✓ 正确答案
# 5. Skip Links(跳转链接)在长页面的无障碍导航 A Skip link 只对鼠标用户有效 B Skip link 让键盘/读屏用户跳过重复导航直达主内容,目标区需 tabindex="-1" 可编程聚焦 ✓ 正确答案 C Skip link 应放在页面底部 D 长页面不需要 Skip link
# 6. 面包屑、对话框、Tooltip 的无障碍模式 A 面包屑用 aria-current="page" 标记当前页,对话框用 role="dialog" 并管理焦点,tooltip 用 aria-describedby 关联 ✓ 正确答案 B 对话框不需要 Esc 关闭 C Tooltip 应作为关键信息的唯一载体 D 面包屑应使用 div 而非 nav
# 7. 模态框 aria-modal、下拉菜单 aria-haspopup、标签页 role="tablist" A tab 应使用 aria-controls 关联自己的面板 B aria-haspopup 只接受 true 一个值 C tablist 中的 tab 用 aria-expanded 标记选中 D aria-modal="true" 只是声明,仍需配合焦点陷阱让背景不可交互 ✓ 正确答案
# 8. ARIA Grid/Tree/Menu 在复杂数据组件的工程价值 A 所有表格都应改用 role="grid" B 纯展示数据用原生 table 更合适,grid/tree/menu 用于可交互的复杂组件 ✓ 正确答案 C menu 适合普通页面导航 D tree 不支持键盘导航
# 9. aria-expanded、aria-hidden、aria-controls 的状态管理 A aria-hidden="true" 可以放在可聚焦元素上 B 这三个属性只用于图片 C aria-controls 指向任意字符串即可 D aria-expanded 表达展开状态,aria-controls 关联被控元素,aria-hidden 从语义树移除内容,且状态需随交互同步 ✓ 正确答案
# 10. ARIA roles、states、properties 在自定义组件的语义化工程应用 A 只需加 role,无需配 state 和 property B 自定义组件无需可访问名称 C ARIA 只影响视觉,不影响语义 D 应把 role/state/property 与键盘焦点行为作为一个整体设计,且优先原生语义 ✓ 正确答案
# 11. ARIA Tree、ARIA Treegrid 在复杂树形列表的工程应用 A tree 用于多列数据,treegrid 用于单列 B treegrid 是 tree 与 grid 的结合,用于多列数据的树形行 ✓ 正确答案 C 两者都不支持键盘导航 D treegrid 用 aria-selected 表达层级
# 12. ARIA Combobox 与 Listbox 在自动补全的工程价值 A 每次变化都要把焦点移入 listbox B 自动补全时输入框保持焦点,用 aria-activedescendant 指向高亮 option ✓ 正确答案 C listbox 不需要 aria-expanded 表达展开 D 自动补全不能用键盘操作
# 13. ARIA Menu 与 Menuitem 在菜单组件的现代实践 A menu 无法用 Esc 关闭 B menu 用于所有导航场景 C menuitem 不需要键盘导航 D role="menu" 适合命令列表,页面导航应使用 nav + 链接 ✓ 正确答案
# 14. ARIA Slider(role="slider")在范围选择的现代工程 A slider 不需要 aria-orientation B 应优先用原生 input[type=range] 而非自定义 role=slider C 用 aria-valuenow/valuemin/valuemax 表达值,方向键调整,焦点保持在滑块上 ✓ 正确答案 D 调整值时焦点会自动跳到别处
# 15. ARIA Progressbar 在加载进度与异步任务的工程应用 A 确定进度用 aria-valuenow/min/max,不确定进度省略 valuenow 并用 aria-busy 表示 ✓ 正确答案 B 进度条应设为可聚焦 C 每 1% 变化都应立即播报 D progressbar 只用于视频
# 16. ARIA Spinbutton 在数字输入与增减按钮的现代实践 A aria-valuenow 只用于显示,不影响读屏 B 所有数字输入都必须用 role=spinbutton C spinbutton 不需要 Up/Down 键 D 优先用原生 input[type=number],自定义时用 role=spinbutton 并实现键盘增减 ✓ 正确答案
# 17. aria-keyshortcuts 与键盘快捷键自描述的工程价值 A 快捷键可以替代所有其他访问方式 B 声明后浏览器自动实现快捷键 C 它声明元素可用的键盘快捷键,但实际快捷键仍需脚本实现,且不能是唯一访问方式 ✓ 正确答案 D aria-keyshortcuts 只用于移动端
# 18. aria-current 与 aria-busy 在路由切换/数据加载的可访问性工程价值 A aria-current 标记当前项(如当前页),aria-busy 标记加载中以免读屏误播中间态 ✓ 正确答案 B aria-current 只用于链接 C aria-busy 表示元素已加载完成 D 两者只影响视觉效果
# 19. ARIA Switch(role="switch")在开关组件的工程应用 A switch 不能用键盘操作 B switch 与 checkbox 语义完全相同 C switch 用 aria-expanded 表达状态 D switch 表达立即生效的开关状态,state 用 aria-checked,优先用原生 checkbox + role="switch" ✓ 正确答案
# 20. ARIA Tooltip 与自定义 Tooltip 的可访问性工程边界 A tooltip 用 aria-controls 关联即可 B Tooltip 应获取焦点以方便读屏 C 触屏用户也能方便触发 tooltip D Tooltip 不应作为关键信息的唯一载体,关键信息应通过可见文本或 aria-label 提供 ✓ 正确答案
# 21. ARIA Carousel Pattern 在轮播组件的工程实践 A 轮播应自动抓取焦点 B 自动播放轮播应提供暂停、尊重 prefers-reduced-motion、用 aria-live="off" 避免频繁播报 ✓ 正确答案 C 轮播自动播放时需频繁播报每张 D 轮播不需要键盘导航
# 22. ARIA Table vs 原生 <table> 在数据展示的工程取舍 A 所有表格都应改成 role="grid" B 纯展示数据优先用原生 table(含 caption/th scope),可交互表格用 grid,原生表达不了才用 ARIA table ✓ 正确答案 C ARIA table 自带原生 table 的全部行为 D 原生 table 不需要表头语义