javascript – 如何使Twitter Bootstrap工具提示可访问?

前端之家收集整理的这篇文章主要介绍了javascript – 如何使Twitter Bootstrap工具提示可访问?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
您可能知道,Twitter引导工具提示无法访问(I.E.它们不被屏幕阅读器读取).要做到这一点,应该做以下事情:

>在调用tooltip()函数时,生成的文本元素(包含工具提示文本的元素)应该添加一个新属性:aria-hidden =“true”.
>原始元素(已经调用了一个tooltip())应该添加一个属性:aria-describedby =“#< tooltip-id>”,其中tooltip-id指的是新元素的id刚刚在上面创建.

由于Javascript目前的工作方式是使用.tooltip类选择所有元素并将tooltip()函数应用于它,我想知道如何在不修改tooltip()函数的源代码的情况下执行此操作.

以下是按钮代码的示例:

<span role="button" rel="tooltip" title="Add Youtube Video" class="fancyPostButton span1" tabindex="0" style="-webkit-user-select: none;padding-top: 10px">
    <div id="fancyPostVideoPicker" class="fancyPostAttachment videoAttachment glyphicons film centerMe">
        <i></i>
    </div>
</span>

解决方法

从Bootstrap文档中的 main example的外观来看,当它们用于本机可聚焦元素时,它们是键盘可访问的(即仅向键盘用户显示),并且它们使用文本内容作为按钮.

因此,如果需要工具提示文本来理解按钮(如您的示例),那么默认的Bootstrap示例也不会太糟糕,因为它们是在创建可访问性问题时.

所以主要的是按钮没有内容,因此屏幕阅读器将不知道它是什么开始. (注意:如果某些屏幕阅读器是本机链接或按钮,则可能会回退到标题,但您不应该依赖它.)

要做一个显示字体图标的按钮,您需要内容和图标,因此有两个元素:

<a href=”target.html”>
    
    <span class=”icon-home” aria-hidden="true"></span>
    
    <span class=”alt”>Add YouTube Video</span>
    
 </a>

然后使用CSS隐藏屏幕外的文本. ARIA隐藏意味着不会读出字体字符.

我还建议实际使用按钮或链接,而不是span或div,因为你不需要使用javascript来模拟onclick等.在这种情况下,你还有一个内联元素(span)包裹着一个块元素(div)也是无效的HTML.

如果您使用上述技术,屏幕阅读器用户仍会听到该项目的内容,我认为还没有其他文字可以读出来吗?

如果无法在源中添加隐藏文本,则可以循环遍历工具提示元素,动态添加它.

原文链接:https://www.f2er.com/js/157781.html

猜你在找的JavaScript相关文章