【发布时间】:2011-12-07 13:40:45
【问题描述】:
我们目前正在办公室讨论如何使用 CSS 以视觉方式重新排列页面上的元素。
在一个非常基本的层面上,我们团队的一名成员希望像这样构造 HTML(此请求仅基于设计视角)
<div class="secondary-content">
<h2>Secondary content heading</h2>
<p>This is the secondary content</p>
</div>
<div class="main-content">
<h1>Main heading</h1>
<p>This is the main content</p>
</div>
然后使用 CSS 直观地将 main-content div 放在 secondary-content 之前。
现在,我并不是就我们如何在技术上实现这一点寻求帮助,但我更多的是寻找证据来支持我们不应该这样做的论点。
作为前端开发人员,我最初关心的是可访问性
- 屏幕阅读器/辅助技术将首先访问
secondary-content。对我来说,这类似于打开一本书,从第 4 章开始,然后返回阅读第 1、2、3、5、6 章等 - 页面的标题结构将脱节(H2 在 H1 之前等)
- 如果
secondary-content中的任何内容需要来自main-content的信息才能被理解,那么使用 CSS 关闭/辅助技术等的用户会感到困惑
但是,对于业内人士来说,真正的热门按钮是 Google/SEO。因此,有没有人知道关于为什么以结构不良的方式编写 HTML 会对我们的 SEO 产生负面影响的任何好的论点/文章?
【问题讨论】:
-
一个div没有语义,我宁愿用section和aside标签(可惜这些是HTML5标签)
-
html5 对 ies 的支持可以通过 code.google.com/p/html5shiv 完成
-
这与 div 的语义意义无关,更多的是与在 HTML 中将次要内容(和相关的 H2)放在主要内容(和 H1)之前有关。也许我应该更清楚,抱歉。
标签: html css seo accessibility