创建网站时,为什么要关心没有样式的 HTML?
是否有任何设备只能呈现 HTML(没有 CSS 或 JavaScript)?
您通常关心您的网站在没有 CSS 的情况下如何显示?
它为什么如此重要?
有几种情况可以在没有样式的情况下使用网站。正如评论中提到的,屏幕阅读器(例如视障人士使用的屏幕阅读器)只能阅读内容,而不是样式。
也许更重要的是,许多搜索引擎蜘蛛(想想:谷歌)在没有样式的情况下阅读您的网站。当您在没有 CSS 的情况下查看您的网站时,您将更好地了解搜索引擎如何查看您的内容。
如果您很幸运,或者您的内容特别令人讨厌,您可能会遇到偶尔通过Lynx浏览您的网站的大师。
这里似乎有一些误解。首先也是最重要的,屏幕阅读器确实考虑了 CSS 和 JavaScript。为什么?仅仅是因为与过去不同,它们不是独立运行,而是作为现有浏览器的插件工作,或者将渲染引擎内嵌在自己的系统中。
这是否意味着您根本不需要担心屏幕阅读器?可悲的是,情况也并非如此。例如,如果你添加display:table
到一个元素只是因为你想垂直对齐某些屏幕阅读器实际上会将它视为一个真正的表格(这没有实际意义)。好的部分是虽然页面是从上到下阅读的,但首先是标题和菜单(如果找到),并且display:none
通过 javascript 添加到元素也会从屏幕阅读器中隐藏元素。现在,下面的内容听起来会很刺耳,但除非你正在制作一个真正的高调的网站 我不建议您过多关注这一点。一方面,屏幕阅读器变得越来越好(例如,如果您有最新版本的 android,请尝试包含在您的 android 设备上的那个),另一方面,盲人习惯于网站“有点”混乱。现在,这并不意味着您应该开始使用 Flash 或其他疯狂的东西,但这确实意味着如果您只是编写一个合适的网站,将您的菜单设为列表,将您的部门设为 div 而不是表格等,您通常应该是美好的。如果您正在制作一个高知名度的网站,那么您应该查看WAI-ARIA。
现在,进入搜索引擎部分,至少对于大型搜索引擎来说,这不是真的。谷歌确实考虑了样式。并非所有对 Google 来说都不重要的样式,但它实际上会意识到隐藏了哪些内容并分析 javascript 是否会显示隐藏的内容(作为反 SEO 工作的一部分),它会在你的 javascript 中搜索链接,可能还有很多更多我不知道。Bing 也在很大程度上做到了这一点,尽管例如 dadduckgo 并没有做太多/根本没有做这件事。无论哪种方式,Google 会像 lynx 一样看到您的网站的想法在过去是正确的,但现在是无效的。
如果您检查您的服务器日志,您会发现没有人通过 lynx 访问您的站点。这就是当今生活的现实。过去(再次)人们偶尔会使用 lynx,如果他们只能访问控制台,但现在从运行完整网络浏览器的口袋中取出手机要容易得多。
CSS不是一个开/关的东西。尽管 CSS可能被完全禁用,但更常见的是您的某些CSS 设置被忽略或覆盖。这是一个不完整的案例列表(有关更多详细信息,请参阅我的CSS 警告):