Css 在制作可访问性的屏幕外内容时,使用静态定位而不是绝对定位有什么意义?

Css 在制作可访问性的屏幕外内容时,使用静态定位而不是绝对定位有什么意义?,css,accessibility,wai-aria,wcag2.0,Css,Accessibility,Wai Aria,Wcag2.0,在创建符合WCAG 2.0指南的可视内容替代方案时,一种常见的方法是将内容的替代显示放置在视口之外,以便辅助技术能够读取,但视力正常的用户无法看到。引用最多的示例通常如下所示: .offscreen{ position:absolute; left:-9999em; } 使用这种方法,很容易在布局容器上增加滚动条。但是,如果使用固定定位,似乎可以消除问题,因为屏幕外的内容不再位于其容器的上下文中。我的问题是,对屏幕外可访问内容使用静态定位的潜在陷阱是什么?我最初的想法是,屏幕阅读器会将

在创建符合WCAG 2.0指南的可视内容替代方案时,一种常见的方法是将内容的替代显示放置在视口之外,以便辅助技术能够读取,但视力正常的用户无法看到。引用最多的示例通常如下所示:

.offscreen{
  position:absolute;
  left:-9999em;
}

使用这种方法,很容易在布局容器上增加滚动条。但是,如果使用固定定位,似乎可以消除问题,因为屏幕外的内容不再位于其容器的上下文中。我的问题是,对屏幕外可访问内容使用静态定位的潜在陷阱是什么?我最初的想法是,屏幕阅读器会将其视为其他位置的内容,但我还没有找到使用静态定位的示例。我遗漏了什么吗?

我要回答一个与你问的不同的问题。但部分原因是因为你的CSS是我怀疑的问题的导火索。如果您有滚动条,那么就有一个您想要解决的问题

您拥有的CSS不再理想:

**请注意**这篇博文最初发表于2009年12月,我当时推荐的样式表(CSS)技术通过设置
position:absolute将屏幕阅读器文本从页面向左移动
左侧:-9999px

该原始定义仍然适用于使用从左到右(LTR)语言的网站,但与从右到左(RTL)语言不兼容,例如希伯来语、阿拉伯语、,最近使用对讲屏幕阅读器在移动Android设备上进行的测试也表明,原始技术可能导致页面中的某些屏幕阅读器文本元素无法正确解释,或无法正常工作

这里提供的更好的定义与两种语言(LTR和RTL)兼容,更适合移动设备上的屏幕阅读器

更新后的CSS如下所示:

.screen-reader-text { 
   clip: rect(1px, 1px, 1px, 1px); 
   height: 1px; 
   width: 1px; 
   overflow: hidden; 
   position: absolute !important;
}
并稍微调整了代码,只需添加一行代码来处理包装问题,包装问题导致屏幕阅读器将文本作为一个长单词来阅读。她的密码是:

.accessible_elem {
  clip: rect(1px 1px 1px 1px); /* IE 6/7 */
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap; /* added line */
  width: 1px;
}
我的建议是看看这些对你解决滚动条问题是否有效


至于你的具体问题,制作一个演示页面,启动屏幕阅读器,看看你得到了什么。

使用一种或另一种技术绝对没有任何意义:陷阱是一样的。

  • 这些技术基于这样一个假设,即只有盲人才需要无障碍性。使用这种黑客的人往往忘记了这些信息对认知或身体残疾的人有益,包括任何其他视觉残疾(如色盲)
  • 滥用此方法的最佳示例是“跳到内容”链接功能,它对仅使用键盘的用户非常有用。(如帕金森病)

  • 视力低下的人可以使用屏幕阅读器,但希望看到通过视觉光标说出的元素。在阅读时隐藏文本会给用户带来不好的体验
  • 例如,无法用鼠标单击已说出的链接

  • 这些方法有时假设盲人总是使用文本到语音屏幕阅读器,而他们也可以使用盲文显示。这可能导致更长的文本。甚至在使用语音替换时无法理解的文本

    ## Bad use: (will help screenreaders, but not braille display users)
    I have downloaded <span class="sr-only">oo-dacity</span>
         <span aria-hidden="true">Audacity</span>
    
    ##使用不当:(将帮助屏幕阅读器,但不会帮助盲文显示用户)
    我已经下载了oo dacity
    厚颜无耻
    
  • 屏幕阅读器用户占总人口的1%。可访问性目标为100%。如果你认为某些东西对盲人有用,那么它对每个人都有用。
    回答你的问题:你没有遗漏任何东西,但是现在人们更喜欢
    clip
    方法

    #1-WebAIM.org有一个很好的“跳到内容”的实现,适用于屏幕阅读器用户和键盘用户。当您单击选项卡时,将显示跳过链接。如果你是鼠标用户,你永远看不到它#2-没错,你不能用鼠标点击你看不见的东西,但至少你可以点击回车键激活链接#3-非常好。可刷新的盲文显示常常被忽略。我的iPad上有一个蓝牙设备,它太棒了。@slagolicious,比如说,它不适用于眼睛跟踪设备。我真的想到了斯蒂芬·霍金,他的设备有点特别,但我们确实可以让瘫痪者的生活更轻松。当一些人可以使用可访问的触摸屏设备时,按“回车”键已经需要键盘了。我知道我正在逆潮流而动,但当我们禁止那些顽皮的黑客行为的那一天,我们会让人们意识到可访问性与1%的人口无关。+1用于多屏幕阅读器和多浏览器的测试。别忘了iOS上的画外音。当使用定位CSS将文本隐藏在屏幕外时,iOS将在接收到画外音焦点时将该屏幕外内容滚动到视图中,从而将所有常规内容移出视图。看起来很糟糕。