解决方法
让我们想象两个平行的宇宙.
>在Dumb HTML World中,只有一个标签:< thing>.你应该如何指定应用样式的方式?浏览器如何知道如何呈现页面?屏幕阅读器如何区分标题和文字以及脚注和菜单项?你必须添加各种尴尬的属性.
>同时,在详细的HTML世界中,有很多名字.你有< header>和< footer>和< article>和< caption>和< menu>和<段落>和< footnote>等等.现在,您可以智能地应用样式,任何读取您的内容的程序 - 浏览器,屏幕阅读器,无论如何 - 都可以具有内容适当的规则.例如:
>“我的用户是盲人的,所以我应该宣布有图像,提供阅读相关的字幕,而不是麻烦下载实际的图像数据.
>“我的用户有一个小屏幕和良好的视力,并要求我把段落小,使其中很多适合页面.”
>“我的用户不关心脚注,从不想看到它们.”
现实世界在这两种情况之间.
语义HTML的一些方面有点理想主义,但原则是声音.例如,使用< strong>而不是< b>传达“这个文本很重要”,而不一定“这个文字应该是大胆的”.也许您的用户希望重要文本被突出显示为橙色.这取决于他们.
关键是,HTML是标记,这是有用的标签.语义HTML是所有HTML应该是:有用的,有意义的标签.
使您的网站快速加载是一个不同的问题.
(另见:我的回答here.)
附录 – 向语义HTML演进
我认为HTML随着时间的推移变得更加语义是很自然的.
回到Dumb HTML世界,他们可能会得到疯狂的标记,例如< thing type ='list'>和< thing render ='image'>.网络编程人员会抱怨,“呃,我们一直都这么做,为什么不只是一个< image>标签呢?
在现实世界中,人们一直在编码诸如< div id ='nav'>和< div class ='article'> ;.因此,创建新元素(例如< nav>和< article>和<节>.哪个是draft HTML5 specs would do.