这是一个我时不时会考虑的小问题。大约一两年来,我一直在思考如何最好地使用HTML5元素。
我看到最频繁的技术是 - 使用类和ARIA角色的元素,例如header、footer、section、aside等。对于较旧的浏览器,使用html5shiv.js。
这更符合优雅降级而不是渐进增强。如果在旧的移动/桌面浏览器中未启用JS或JS不可用,则我们失去了仅使用HTML5元素构建布局的样式能力。
另一种方法与渐进增强更相符,并且不依赖于在旧浏览器中启用JS才能使布局正常工作。我曾与Josh Clark [Global Moxie] 简要讨论过这个问题。他们在People Magazine的m.版本中使用了这种方法。http://www.people.com/people/mobile/home/ 他们使用HTML5元素来帮助概述文档的语义,使用classess的divs进行样式设置。没有任何样式依赖于HTML5元素,如header、footer、aside、section。
我的问题之一是,如果已经在div上设置了ARIA角色,将HTML5元素层叠在我的div/spans周围是否有益于给文档标记提供更好的概述?除了“语义化”之外,这有什么好处吗?
如果在用于样式的div周围添加HTML5元素,将ARIA角色从div移动到HTML5元素是否有益?我假设是有益的,但很乐意听取有关此技术的更多反馈。