使用JAWS的HTML标签阅读顺序

时间:2017-04-11 14:33:59

标签: html wai-aria jaws-screen-reader

我有一个网页应用程序,其中页脚不在html文件的末尾,但我想最后用JAWS 17.0阅读它。

我怎么能做到这一点?是否有任何解决方案来指定读者的阅读顺序?

    <div data-app-constraint="left" id="webnykApp_leftsidebar" style="visibility: visible;">
    <div data-app-constraint="center" id="webnykApp_index" style="visibility: visible; display: none;"></div>
    <div data-app-constraint="top" id="webnykApp_overlay" style="visibility: visible;">
    <div data-app-constraint="bottom" id="webnykApp_footer" style="visibility: visible;">
       <footer id="footer" class="footer">
            <ul class="footer__links">
                <li class="footer__link"><a href="http://nav.gov.hu/nav/kapcsolat" target="_blank">kapcsolatfelvétel</a></li>
                <li class="footer__link"><a href="http://nav.gov.hu/nav/adatvedelem/adatvedelem.html" target="_blank">adatvédelmi tájékoztató</a></li>
                <li class="footer__link"><a href="http://nav.gov.hu/nav/impresszum/impresszum.html" target="_blank">Impresszum</a></li>
            </ul>
        </footer>
    <div data-app-constraint="center" id="webnykApp_login" style="visibility: visible;">

&#34; webnykApp_login&#34;内容已在页脚后读取。

1 个答案:

答案 0 :(得分:2)

简短回答:您唯一的选择是将源订单中的<footer>移动到屏幕阅读器要读取的位置。理想情况下,在<main>之外或具有role="main"的东西(否则无法通过地标导航到达)。

更长的答案:如果您的框架确实不允许您控制HTML的源顺序,那么请在页面处理后使用脚本将元素移动到您想要的位置(例如源顺序中的last)。

更长,更糟糕的答案:CSS Flex允许您使用order属性来覆盖页面源中的内容。 Sort of。不同的浏览器会对此进行不同的处理,并且可能会发生变化。

更长,也更糟糕的回答:tabindex。请勿使用tabindex尝试解决此问题。屏幕阅读器用户不使用Tab键作为导航页面的唯一方式。

更长,不支持的答案:aria-flowto。与tabindexaria-flowto is intended to provide an alternate route for keyboard导航一样。但它没有实际支持,并为SR用户创建了与tabindex相同的问题。