2017-07-29 107 views
0

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

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

后来我意识到,引起了我的lynx编译行为改变:

<!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> 

浏览的是(在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> 
    <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> 

enter image description here

我无法在我的本地主机的WebKit软件显示它时,捕捉任何行为差异。

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

我的山猫编译buggy?

我的WebKit编译错误吗?

+0

请检查[https://stackoverflow.com/q/45390048/1737973](https://stackoverflow.com/q/45390048/1737973)。 – uprego

+0

如果您在自己的帖子中包含代码的相关部分,那么试图帮助您的人可能会更容易。 – jcaron

回答

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编译buggy?

可能不是,因为它是一个大型和成熟的项目使用的无数和眼球的bug的规律。

1

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

您应该注意,用<main id="whatever">代替<div id="whatever">可得到预期结果。