所以,我已经成功地让我的页面在NDVA屏幕阅读器上正常工作,但是,在JAWS中测试时,它会切换到span标签,但不会读取文本。
我想要实现的是,我有一些元素可以展开/折叠站点的某些部分。然而,这些功能元素并不是链接。
回应@discojoe(感谢您的回应):添加一个TABINDEX="0"属性将按自然顺序将SPAN/DIV元素插入到制表符列表中(默认情况下,它们通常不会添加到制表符列表中)。这使得屏幕阅读器可以切换到该元素,并且可以正常工作。具体来说,我的问题是JAWS只会切换到该元素,而不会读取它。
我同意,使用TABINDEX="n"(其中n > 0)是一件坏事,会破坏制表符列表的自然顺序,而我没有这样做。
此外,如果默认情况下将其放置在其中的话(例如A或INPUT标记),您可以使用TABINDEX="-1"将元素从制表符列表中删除。
我已经尝试过使用a标签,但是当用户在此链接上按Enter键(以触发onclick事件)时,它会对页面进行某些操作(不完全重新加载,但是有点重新初始化),从而延迟与该元素相关联的动画。我认为这对正常用户和残障用户都是不好的体验。
在A标签中使用#标记会将哈希标记添加到IE中的页面标题中。
此外,使用A标签会使屏幕阅读器在每个元素之前/之后朗读“链接”,而由于它们实际上不是链接,我认为这对可访问性产生了负面影响。
<span tabindex="0" title="whatever">whatever</span>
更新:我想要实现的是,我有一些元素可以展开/折叠站点的某些部分。然而,这些功能元素并不是链接。
回应@discojoe(感谢您的回应):添加一个TABINDEX="0"属性将按自然顺序将SPAN/DIV元素插入到制表符列表中(默认情况下,它们通常不会添加到制表符列表中)。这使得屏幕阅读器可以切换到该元素,并且可以正常工作。具体来说,我的问题是JAWS只会切换到该元素,而不会读取它。
我同意,使用TABINDEX="n"(其中n > 0)是一件坏事,会破坏制表符列表的自然顺序,而我没有这样做。
此外,如果默认情况下将其放置在其中的话(例如A或INPUT标记),您可以使用TABINDEX="-1"将元素从制表符列表中删除。
我已经尝试过使用a标签,但是当用户在此链接上按Enter键(以触发onclick事件)时,它会对页面进行某些操作(不完全重新加载,但是有点重新初始化),从而延迟与该元素相关联的动画。我认为这对正常用户和残障用户都是不好的体验。
在A标签中使用#标记会将哈希标记添加到IE中的页面标题中。
此外,使用A标签会使屏幕阅读器在每个元素之前/之后朗读“链接”,而由于它们实际上不是链接,我认为这对可访问性产生了负面影响。