使用HTML5元素/ ARIA角色的首选技术

hyb*_*rid 5 html5 progressive-enhancement graceful-degradation wai-aria semantics

因此,这是我不时思考的一个小问题。大约一两年来,我一直对使用HTML5元素的最佳方法感到好奇。

我看到的最常见的技术-使用诸如页眉,页脚,节之类的元素以及类和ARIA角色。将html5shiv.js用于较旧的浏览器。

这更多地与适度降级而不是渐进增强相结合。如果在较旧的移动/桌面浏览器中未启用JS或根本不使用JS,则我们将无法对仅使用HTML5元素构建的布局进行样式设置。

我见过的另一种方法是通过渐进增强来进行排列,并且不依赖于在较旧的浏览器中启用JS来使布局正常工作。我刚刚与Josh Clark [Global Moxie]谈过此事。他们在m中使用了这种方法。版本的《人物》杂志。http://www.people.com/people/mobile/home/他们使用HTML5元素来帮助概述文档和div的语义以及样式类。没有样式依赖于HTML5元素,例如页眉,页脚,aside,section。

我的问题之一是,如果已经在div上设置了ARIA角色,是否在div / span周围放置HTML5元素以使文档标记更好地轮廓是否有益?除了“成为语义”之外,这还有什么好处?

如果在用于样式的div周围添加HTML5元素,将ARIA角色从div移到HTML5元素是否有益?我以为会,但很想获得有关此技术的更多反馈。

小智 1

HTML5 规范极大地提高了大纲算法的自动化,因此浏览器和屏幕阅读器肯定会受益于包含 html5 标签和 ARIA 角色。

Mozilla 就这个主题制作了一份很棒的文档,解决了将 html5 元素合并到 html4 文档中的问题。这应该作为一个很好的例子,说明您可以将一些 div 替换为更多语义元素。在这里找到: https: //developer.mozilla.org/en-US/docs/HTML/Sections_and_Outlines_of_an_HTML5_document

话虽如此,HTML5 的新语义元素确实占据了 div 的大部分领域,但当没有其他语义上适合您的目的的元素时,仍应使用 div。html5 Doctor 也对此进行了极大的扩展。在这里找到: http: //html5doctor.com/you-can-still-use-div/