“元素的tabindex不应大于零”-非零Tabindex会破坏验证和508合规性

时间:2018-12-10 15:36:32

标签: html css accessibility section508

我们正在运行一个名为Axe的工具,以检查HTML页面的有效性和508兼容性/可访问性。

此错误显示为违规:

  

元素的tabindex不得大于零

该应用包含顶部链接和导航栏。如果我们不放入tabindex,则制表从这些元素开始。想法是在进入页面时直接点击表单输入。确实有道理,应该允许(即使对于残障用户)?那为什么要标记一个合法的用例呢?

image of the form layout

<input id="phone" name="phone" tabindex="5" placeholder="" class="input-block-level" type="text" value="222">

imageof the error message

2 个答案:

答案 0 :(得分:5)

尽管AX在说什么,但HTML中允许tabindex大于零。

但是,您使用tabindex的方式是向有视力的用户显示信息,这实际上使非有视力的用户无法使用它们,因为他们无法浏览。

一种更好的方法是使用隐藏的“ skip links”。

  

这个想法很简单:在页面顶部提供一个链接,可将用户跳至主要内容开头的锚点或目标。

https://webaim.org/techniques/skipnav/

答案 1 :(得分:5)

对于有视力的用户,最好将焦点放在第一个可操作的元素上,例如amazon.com上的搜索字段(尽管他们不这样做)。但是有视力的用户可以快速浏览整个页面。他们可以看到焦点相对于页面其余部分的位置(假设您有焦点指示器2.4.7),并且会立即知道焦点位置之前有导航元素,焦点位置之后还有更多可以交互的内容

对于使用放大镜的低视力用户,其视口将转移为包括具有焦点的元素。通常,在页面加载时,焦点将移至DOM中可以接收焦点的第一个元素。通常,这是左上角(“ LTR languages”的“主页”徽标)。由于视口位于左上方,因此弱视用户将知道他们可以将视口向右或向下拖动以浏览页面的更多内容。但是,如果最初的焦点位于页面中间,则可能会迷失方向。用户可能不知道他们在页面上的位置。视口距左上角有多远?他们可以向上或向下,向左或向右探索多远?

对于视力低下或有视觉障碍或失明的用户(使用屏幕阅读器的用户),迷失方向更加严重。屏幕阅读软件具有出色的导航工具,因此只要使用了语义html元素(例如

或或