滚动网站上的键盘可访问性

时间:2011-10-30 16:51:49

标签: tabs scroll accessibility

请看一下这个网站 - > http://vanityclaire.com/(如果将来更改,则为横向滚动网站)并尝试使用TAB进行浏览(请勿按Enter键,只需选项卡)。选中第一部分中的所有内容后,您会注意到当焦点更改为另一部分时,它会混乱:您看到两个部分中的一半。

如何让用户只能浏览某个部分?

我知道我可以为最后一个项目(无论是锚点还是输入)设置模糊属性,以便将焦点放在菜单上的第一个项目上......这样,用户就不会选项卡到另一个部分..但这意味着用户会“陷入”页面,并且无法通过地址栏进行制表。

有没有办法将焦点发送到地址栏?没有window.locationbar.focus();或类似的东西,$(windows).focus();也没有帮助...

有人能想出一个很好的解决方案吗?


请注意我不想阻止用户使用密钥进行导航...我只是希望网站不会因此而崩溃(我可以想到如何解决)并且用户不会被困住...

先谢谢你,伙计们,

  Óscar

1 个答案:

答案 0 :(得分:1)

对于它的价值,这种类型的侧卷轴存在许多其他相关问题:如果用户的窗口足够大,或者如果它们缩小,或者单击背景并向右拖动,则其他页面可以变得可见。此外,因为它们是“可见的”(只是滚动关闭),屏幕阅读器可能会一次性读出整个页面,而不仅仅是当前页面。

这是一种可以解决所有这些问题的方法:将其他页面区域设置为display:none或visibility:hidden,直到需要它们为止。 (可见性:隐藏可能最适合这种情况,因为它不会影响布局。)这可以防止它们被意外滚动到视图中,防止屏幕阅读器读取它们,并防止它们被选中。 Tabbing将直接跳过,这正是你想要的。

因此,要从区域A过渡到区域B,请将A到B区域可见,滚动并将焦点移动到区域B,然后使除B以外的所有区域都不可见。