立即在html标签下的div标签的合法性

时间:2017-07-29 13:51:54

标签: javascript html accessibility web-standards lynx

我正在运行lynx来测试我必须做的一些HTML,因为考虑到了可访问性。我猜想,如果在Lynx看起来很漂亮,整个屏幕阅读器,蹩脚的手机和其他东西都可以,甚至是大多数古老的硬件。

在某些情况下,我使用了一个快捷方式,以防我想要在支持和启用JS的常规情况下一次性清除所有静态HTML,包括将所有静态HTML标记嵌套在标识的{{1标签被消灭。

后来我意识到在我的div编译中导致了行为改变:

lynx

浏览(也在http://driedleav.es/so_20170729/with_div_inside.html中)将第一个标题移动到左侧:

enter image description here

http://driedleav.es/so_20170729/without_div_inside.html中浏览此另一个,将第一个标题居中:

<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta name=viewport content="width=device-width">
    <title>Title</title>
  </head>
  <body>
    <div id="whatever">
      <header>
        <h1>First heading</h1>
      </header>
      <main>
        <p>
          Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
          eiusmod tempor incididunt ut labore et dolore magna aliqua.
        </p>
      </main>
      <footer>
        <hr />
        <p>
          Footer.
        </p>
      </footer>
    </div>
  </body>
</html>

enter image description here

在本地主机的WebKit软件中显示行为时,无法发现任何行为差异。

为了标准,兼容性和可访问性,我是否应该放弃<!DOCTYPE html> <html lang="en-US"> <head> <meta name=viewport content="width=device-width"> <title>Title</title> </head> <body> <header> <h1>First heading</h1> </header> <main> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p> </main> <footer> <hr /> <p> Footer. </p> </footer> </body> </html> 标记下使用的div标记;代价是开发更大,下载更大,JS代码?

我的Lynx编译错误了吗?

我的WebKit编辑有错误吗?

2 个答案:

答案 0 :(得分:1)

通过插入div,lynx会考虑创建一个隐式部分,使h1成为该部分的标题,而不再是网页的标题。

您应该注意,将<div id="whatever">替换为<main id="whatever">会得到预期的结果。

答案 1 :(得分:0)

  

为了标准,兼容性和可访问性,我是否应该放弃在body标签下使用的div标签;代价是开发更大,下载更大,JS代码?

为了标准,可能不是。为了兼容性,如果想支持特定版本的lynx,则绝对是肯定的。

检查这些,是相同的来源,但连续的多级标题是唯一的区别。

http://driedleav.es/so_20170729/with_div_inside_.html表现得像这样:

enter image description here

http://driedleav.es/so_20170729/without_div_inside_.html表现得像这样:

enter image description here

通过浏览更多的测试文档,我发现行为一直在增加缩进级别,这似乎比看起来根本不做任何事情更为明智。

  

我的Lynx编译错误吗?

因为WebKit可能100%兼容,可能是的。

  

我的WebKit编辑有错误吗?

可能不是,因为它是一个由zillions使用的大型和成熟的项目,以及臭虫的眼球定律。