问题标签 [web-accessibility]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
938 浏览

html - 辅助功能 - Control+Option+Space 未打开下拉菜单(选择元素)

我有一个这样的 Select 元素:

在 Mac 上使用启用 VoiceOver 的 Chrome,如果我使用 Space,下拉菜单会打开,但如果我使用 Control+Option+Space,下拉菜单不会打开。我该如何解决这个问题?

0 投票
1 回答
849 浏览

vuejs2 - 在 vue 中寻找可访问的日期选择器组件

我正在 Vue2 中开发一个项目,我正在寻找可访问的日期选择器。我只发现了 2 个组件: 1. vue-a11y-calendar,它有 0 个文档并引发了很多错误。2. https://www.syncfusion.com/products/vue/datepicker太贵了。

vue 有很多很棒的日期选择器组件,但不幸的是它们都无法访问。我还想念别的吗?

0 投票
1 回答
67 浏览

angularjs - 如何解决 angularJs 可访问性中的断开链接?

AngularJs我正在使用ngAria改进可访问性。我正在使用ui-sref它来转换我的代码

对此

它在href中添加了#,这就是为什么在可访问性中出现以下错误。如何解决它?

在此处输入图像描述

0 投票
2 回答
665 浏览

html - 删除两个文本元素之间的空格是否存在可访问性问题?(例如跨度,a)

我想知道拥有这个 HTML 是否会以任何方式损害可访问性:

而不是这个:

或这个:

我在屏幕阅读器的背景下思考:它会正确识别它们是两个不同的词,而不是“隐私条款”吗?如果我使用<span>或任何其他元素而不是有区别<a>吗?

我有时删除空格的原因是我喜欢用 CSS(边距)指定元素之间的确切间隙,并且在源代码中保留空格会根据字体大小添加视觉空间,这也是可选的(特别烦人当元素可点击时,因为当您将光标从一个元素移动到下一个元素时,光标会从pointertext变为 到default)。如果有更好的方法来解决这个问题,我很想听听。

0 投票
1 回答
71 浏览

javascript - 查找最后一个孩子是否在 keydown 上有特定的类

我有一个在右箭头键上的数据网格,它需要检查它是否在标题中具有最后一个孩子,并且最后一个孩子focus-visible在 keydown 上应用了类。我可以使用 找到最后一个子元素和活动元素,但是当用户点击箭头键将焦点设置在最后一个子元素上时focus-visible,我的逻辑发现最后一个子元素存在问题。focus-visible

到目前为止,这是我的逻辑,但不确定检查班级是否在最后一个孩子身上出错了:

当前问题状态:Plnkr Link

0 投票
3 回答
1705 浏览

html - 错误地将焦点移动到字段时,如何允许屏幕阅读器宣布 ASP.NET MVC 5 表单验证消息?

我们有一个 ASP.NET MVC 5 Web 应用程序。我们结合 Internet Explorer 11(企业授权)和 Chrome 使用 JAWS 进行定期可访问性测试。当用户 TAB 进入字段时,我们一直遇到 JAWS 无法读取与表单字段关联的验证消息的问题。我们使用 FluentValidation 和标准 HTML 助手来显示表单字段和验证消息(示例如下):

示例 FluentValidation 可能会在数据库中查询表单中的电子邮件地址,并显示在服务器端运行的“此电子邮件已被占用”的消息。

发送回浏览器的结果 HTML 是:

没有将验证消息与表单字段相关联。我一直认为 MVC 框架会自动建立这种连接,但显然它没有。

根据WebAIM的说法,我们应该利用该aria-describedby属性将表单字段与内联验证错误相关联,但要重新检测现有的 MVC5 框架来做到这一点是一项艰巨的任务。

当将焦点放在由 ASP.NET MVC5 生成的表单字段时,我们如何在不重写主要 HTML 帮助程序的情况下让屏幕阅读器宣布内联验证消息?

0 投票
1 回答
351 浏览

javascript - 使用箭头键将单击事件设置为容器中的下一个选项卡

我有一个带有三个标签的过滤器容器。当前选定的选项卡具有类ag-tab-selected。当容器加载时,第一个选项卡总是被选中并具有ag-tab-selected类。我需要能够使用左右箭头键在选项卡之间导航。

当用户点击右箭头键时,ag-tab-selected该类应应用于下一个选项卡,如果按下左箭头键,则ag-tab-selected该类应应用于前一个选项卡。当前选项卡也应该.click()应用到它,这样当用户按下箭头键时,视图会根据选择的选项卡而改变。我目前能够遍历可用选项卡并将触发器应用于当前选项卡,但无法使用箭头键迭代到上一个或下一个:

链接到当前小提琴:链接

0 投票
1 回答
84 浏览

accessibility - 以编程方式将焦点设置到阅读顺序中较早的控件是否是一种不好的做法,因为必须禁用焦点元素?

有两个按钮“显示更少”和“显示更多”。我不能在这里使用切换按钮,因为默认视图中有一个中间状态(默认显示一行内容)。假设用户选择“显示更多”并激活按钮,下面的部分展开并且显示更多按钮被禁用。当用户选择其中一个在此处输入图像描述按钮时,将焦点设置到相反的按钮按钮是否合理,即使它在阅读顺序中向后退了一步(例如 Show Less 在 Show More 之前)。

0 投票
1 回答
103 浏览

html - 游戏的正确 ARIA 属性

如果它主要是一个通常用鼠标玩的游戏并且没有视觉表示就没有意义,我应该如何使用 ARIA 来标记网页?

如果没有具体的 ARIA,让我换个说法:我怎么能宣布一个网页很遗憾不能用于无视力的用户?

基本上,我有一个<noscript>标签说明游戏需要 JavaScript。我如何向仅使用屏幕阅读器的用户解释有关视力的类似陈述?


背景:这是典型的三消游戏。我可以(并且将会)在使用箭头键导航板以及交换项目Enter和选择方向方面添加键盘访问,但这对于无视力的用户仍然无用。

如果我尝试在每一步中读出棋盘,我认为它对任何人都没有用:“第一行:蓝、红、绿、白、蓝、绿、白、紫;第二行:……” .

0 投票
1 回答
235 浏览

webautomation - 自动化现有的 Web 浏览器会话

如何以编程方式与以标准方式启动的 Web 浏览器中的现有网页进行交互?例如,我导航到特定页面并希望能够运行填充某些编辑或单击某些元素的 Python 脚本。

至少通过主要浏览器的 IAccessible2 应该可以做到这一点,但我没有找到任何指针。换句话说,屏幕阅读器是如何做到的?还有一个额外的问题,有 Python 库吗?

编辑:我正在寻找的不仅仅是用户输入模拟。我想至少以编程方式读取 DOM,尽可能写。到目前为止,我已经查看了NVDA中非常低级和复杂的代码。有什么更容易的吗?