我一直在尝试正确使用HTML5,但我觉得它仍然没有接近任何语义上有价值的东西。
我的尝试:
但每个标签都有这样的微妙之处!
我的问题是,网络上的具体软件实际上是在处理我们的HTML DOM,计算和比较元素,说“哦,这是<header>
,并且它就在<section>
之后,并且其中包含<time>
,因此<time>
标记必须是与“<header>
...”相关的“元数据”,并且说“<time>
标记内的内容不仅是”发布时间“,还与作者的生日有关,因此必须是特殊帖子(比如因为还有<cite>
或{{那里也有1}}标签)“。
我的意思是,如果我不知道解释它的算法,我将使用HTML5获得什么好处?如果我坚持使用基本的<address class='vcard'>
标签,我可以使用一半数量的DOM元素来完成所有操作。
期待一些特定的算法,我可以用它来塑造我从现在开始构建DOM的方式。
我甚至认为我们根本不应该使用HTML5标签。例如,特别是在iPhone上,目标应该是最小化dom元素以减少加载时间。此外,如果iPhone网站是传统浏览器版本的镜像,搜索引擎甚至不会看到iPhone网站(理想情况下)。因此,制作DOM语义没有任何意义。因此,如果我可以使用1/2 div, ol, ul, li, p, a, h[1-6]
标签的数量来实现相同的布局,就好像我使用了一些“语义HTML5”再现,这对iPhone来说是件好事,为什么我不这样做呢?对于常规浏览器呢?这就是我来自的地方。
像this这样的文章基本上是说担心语义HTML是没有意义的。
答案 0 :(得分:4)
什么算法正在读取您的语义HTML? Google ,that's who。他们的算法试图从可能的页面中提取每一点意义,因为这有助于谷歌构建智能,相关的搜索结果。例如,Google会尝试通过阅读HTML来确定事物的日期,并在确定页面的整体主题时额外考虑标题。
另外,你断言我们不应该在iPhone上使用HTML5标签“以最小化dom元素”并不是在任何技术基础上建立的。 HTML5并没有规定我们使用更多的DOM元素,实际上它可以让我们省略XHTML所需的标签。你应该在iPhone more 上使用HTML5而不是其他任何地方。例如,像input
和number
这样的新email
类型在桌面上做的不多,但是这些额外的信息可以让iPhone上的内容变得更好适当的界面。
答案 1 :(得分:2)
除搜索引擎(→SEO)外,screen readers(→辅助功能)解释标记。它们在版本之间变得更好。
另外,想想有朝一日可能会出现的所有工具。关于Web的伟大之处在于,从现在起5年,10年,100年后,所有网页仍然可以存在。想象一下当时可能存在的用户代理和算法以及搜索工具,以及它们如何提取旧文档的含义。
答案 2 :(得分:1)
搜索引擎可以/将更好地解释您的网页,结合其他因素将为您的网页带来更好的排名。
此外,如果您始终如一地使用标签,那么您可以构建自己的可重用小部件和库,从HTML结构中获取知识,而不依赖于数据在后端的存储方式。
考虑此示例Google搜索,您可以按日期过滤结果。通过使用语义HTML,比如<article>
和<time>
,您可以编写一个简单的爬虫来重新创建此功能,或者允许用户指定在您自己的站点中搜索文章的时间跨度
答案 3 :(得分:0)
在我的脑海中,我不知道在HTML5中使用新语义标签的算法。 (显然,这并不意味着没有。)
但是,我认为你应该将HTML定制为特定算法的想法与网络运作方式有点相反。网络遍布全球,并且有望长期存在。我们无法知道我们的HTML将被用于什么用途,并且在有大量实际内容之前无法编写有用的算法。
<a>
标记的设计并未考虑Google的PageRank算法。有些人认为如果链接本身不是双向的,那么链接将毫无用处,因为当一端消失时,你会得到太多断链。
当然,如果未定义的未来利益的模糊可能性使得不值得使用部分或全部HTML5标签用于您正在处理的任何项目,请不要使用它们。
对我来说,使用它们的好处是,有一个众所周知的,公开的,非专有的规范告诉你,以及任何其他从事代码工作的人,我们已经同意这些标签的含义。未来的开发人员不仅要获得一个<div>
的类名,而是在晚上7点用咖啡加油。代码打印,他们得到一个标签设计和记录的人比我更聪明,更有经验。如果人们在算法中使用HTML5标记中包含的含义,那么代码也有可能在将来变得更有用,而如果它只是一堆<div>
s,那么它的可能性就会降低。
我认为HTML5标签页面的大小增加并不值得担心。在gzipping之后,大小增加不足以担心,特别是因为移动性能受到带宽的延迟(你无法做太多)的影响。此外,移动带宽可能会上升,而不是下降。