Accessibility 适配
Hello,
我是使用 ScreenReader 的用户,我发现“显示调试”这个选项是否勾选在屏幕阅读器看来始终都是显示的。 我没有仔细看代码,如果想实现网页元素的隐藏对屏幕阅读器同时生效,可以使用 aria-hidden 属性,比如这样:
<div aria-hidden="true">
This content will be hidden for screen reader users.
</div>
谢了
是哪个浏览器的哪个插件功能,我测试下
抱歉,是我没有解释清楚。 我是视障用户,使用开元屏幕阅读器 NVDA操作计算机。其原理是利用 TTS 将屏幕上的内容以语音形式输出。 为了让屏幕阅读器可以更好的阅读 WEB 内容,有一些开发规范,比如 Web Content Accessibility Guideline 上面提到的 aria 属性也是为了改进 WEB 语义化或者实现一些便于辅助功能的交互而诞生的。
你如果想了解屏幕阅读器功能可以下载 NVDA或者使用 Windows 自带的 Narrator(Ctrl+Windows+Enter 开/关) 进行测试。
https://github.com/xcanwin/KeepChatGPT/commit/2deb384a071ea7cef266e048a37e8ce653682c02 我不太会用nvda,不过在尽力学习它的使用和测试。 最新版已提高对nvda等无障碍软件的支持。
非常感谢,目前的操作大多都可以使用屏幕阅读器完成。让作者费心了。
另外有几个较为影响使用的问题,希望作者闲暇了能看一下:
·1. Menu 入口无键盘交互能力,只为鼠标交互定义了事件处理器(onmouseover, onmouseleave, onclick)。可以定义 onkeydown 处理器来响应 Enter 和 Space 键的按下。
2. Toggle Menu 状态的屏幕阅读器支持:当菜单显示或隐藏时,应该向屏幕阅读器及时传达当前状态,例如使用 aria-expanded 来实现这一点。
3. 菜单项的勾选状态需要传递给屏幕阅读器,例如“取消审计”、“显示调试”这些菜单项,目前屏幕阅读器用户无法获知其当前状态。可以使用 aria-checked 这个属性,将 aria-checked 属性添加到每个 <li> 元素中,然后根据元素的状态更新其值为 true 或 false 即可。
谢谢
cc @xcanwin