为符合XHTML毫无意义?(Is XHTML compliance pointless?)

2019-07-29 00:49发布

我建立一个网站,现在,到目前为止,我痛苦地被迫一切都符合,它看起来几乎相同的跨浏览器。 不过,我开始实施一些第三方/免费的JavaScript它不喜欢的东西添加属性(如:为了= 2)。 我可以解决这一点,但它是一个痛苦,我开始失去我确保一切是有效的校长。 真的,有没有点周围像这样的工作? 我得到了HTMLValidator插件的Firefox,并期待在大多数主要网站(包括本,谷歌等),它们是不是有效的XHTML或HTML。

Answer 1:

我还没有体验到其中除了一个非标准的属性已在任何浏览器引起了渲染问题的实例。

不要尝试解决这些非标准属性。 验证器是得心应手的工具仔细检查你的代码的无心之错,但我们都知道,即​​使是完全有效的XHTML并不总是一致的跨浏览器的渲染。 有些时候设计决策,要求我们使用特定浏览器(和非标)黑客以达到效果了很多次。 这是一个Web开发人员的生活就证明不验证技术推动网站(谷歌,雅虎等)的数量。



Answer 2:

验证可用于确定当事情不符合标准,你可能同意。 如果您有意使用的工具,特别是增加了一些没有在验证标准,显然不打破你的个人的标准协议。

如果你有一个老板或者谁相信一切都应该返回了绿灯,因为你将不得不解释上面给他们,并说服他们这不是简单的你懒惰客户端这一讨论变得更加困难。

这就是说,可以肯定它不是仅仅是你懒惰的情况。 虽然验证器烦人不断弹出第三方属性的每个实例,这并不能否定(公顷)他们提其他验证错误。 这往往是值得通过扫描作为仔细检查你的工作的一种手段。



Answer 3:

符合标准是关于增加你的页面会在你不测试对浏览器工作的机会。 这包括屏幕阅读器,和你做对测试浏览器的下一个更新,以及你对测试但在用户意想不到的方式已经配置浏览器。

验证并不能保证你任何东西,因为它可能为你的网页来验证,但仍然有足够的暧昧,它不会表现你希望它在某些浏览器中某一天的方式。

但是,如果您的网页没有验证,你至少有XHTML规范的说法应该如何表现力。 如果不验证,你已经是一堆浏览器作家之间的非正式约定。

它可能会更好编写有效的HTML 3比无效XHTML,如果有你想要做的这是允许在一个而不是其他的东西。



Answer 4:

如果你正在服用的XHTML优势XML计划,那么它是值得的,以使您的网页有效且格式正确。 否则,普通的旧语义的HTML可能是要你想要的。 无论哪种方式,你的受众的需求超过了一个验证的需求。



Answer 5:

只要记住的是,XHTML标签生成不同在大多数浏览器比没有它。 该DOCTYPE属性决定了浏览器呈现何种模式,并决定是什么,是不允许的。 如果从符合XHTML流浪只是确保在所有浏览器重新测试。

我个人坚持使用最新标准只要有可能,但你必须权衡的时间/金钱对合规性是肯定的,并把它归结为个人喜好为最多。



Answer 6:

至于浏览器而言,符合XHTML是毫无意义在于:

  1. 浏览器不具备XHTML解析器。 他们有围绕打造一个DOM特定的非版本,网络兼容HTML解析器http://www.w3.org/1999/xhtml命名空间。

  2. 有XML解析器可以把XHTML标记某些浏览器当作application / xhtml + xml的XML。 这将需要的XML,并给默认的HTML样式和行为中的元素http://www.w3.org/1999/xhtml命名空间。 不过,据分析去,它没有任何关系的XHTML。 XML解析的规则得到遵守,而不是一些XHTML DTD的规则。

所以,当你使用XHTML标记,你给到浏览器外来的东西,看它是否出来,你打算。 关键是,你可以用任何标记做到这一点。 如果它呈现如预期,并产生正确的DOM,你做的很不错。 你只需要确保保持DOCTYPE切换记住,并确保你不依赖于浏览器的bug(这样的事情不要在浏览器散架没有错误)。

什么XHTML依从性好是语法检查(通过验证),看看是否标记很好地形成。 这有助于避免解析错误。 当然,这可以用HTML做也,所以没有什么特别的XHTML在这种情况下。 无论哪种方式,你仍然有浏览器和希望浏览器厂商测试使真棒HTML解析器可以接受各种垃圾。

什么是不无意义试图顺应一下浏览器的期望。 HTML5有助于该大的时候。 而且,HTML5的来说,你可以自定义属性,所有你想要的。 只是DATA-前缀它们,如<p个数据阶=“这是一个有效的,自定义属性。”>测试</ P>。



Answer 7:

作为HTML有效的通常是你们俩和浏览器渲染引擎帮助。 越少怪癖浏览器必须处理,就越能专注于增加新的功能。 更严格的你,在更短的时间,你会花时间想知道为什么此F @#该死专用标记不会在其他浏览器。

在另一方面,XHTML是,恕我直言,更没有意义,除非你打算将一些XML文档中它集成。 由于IE浏览器仍然不承认它,它是相当无用留棍子。



Answer 8:

我觉得写“有效的代码”是很重要的,只是因为你遵守规则率先垂范。 如果每个开发人员已经为Fx的,Safari和Opera编写的代码,我认为IE不得不“开始遵守规则”比8版本更快。



Answer 9:

我试着写代码兼容大部分时间称重时间/成本VS观众在所有情况下,但是一个需求。 当你的代码必须是503标准,它是您的最佳利益和你的观众的兴趣写兼容代码。 我已经遇到了一堆屏幕读者,炸毁时的代码是稍微偏离的。

像大多数的海报说,这真是所有关于你的观众需要什么。



Answer 10:

这不是毫无意义的以任何方式,但有很多理由打破它。 在CSS开发的初始阶段,它是诊断浏览器的问题,如果您的标记是否有效非常有用的。 除此之外,如果你想要做的事,你觉得最合适的方法是打破了验证,这通常是好的。

使用自定义属性的替代方法是利用“相对”属性的,用于例如参见Litebox (及其亲属)。



Answer 11:

当然,你总是可以先走一步,把它写在你想要的方式,确保以最低的它的工作原理。 当然,我们已经遭受了这种心态,并目睹它的输出,Internet Explorer 6中

我是一个大风扇的迈克·戴维森方式面向标准的发展 。

仅仅因为你可以验证你的代码并不意味着你比别人更好。 哎呀,它甚至不意味着你编写更好的代码比谁都清楚。 谁可以在Flash完全写一个银行应用程序是比你更好的编码器。 谁可以第三方的代码集成到一个复杂的出版环境比你更好的编码器。 想验证作为使用画面完美的语法; 它可以帮助你更清楚你的想法,是一个良好的教育的标志,但它并不像你认为的,并随后传达思想和概念一样重要。 我曾经工作过的最有魅力的,可能最聪明的人是来自南方,并用了“不”相当有规律。 它并没有为他带来任何较少聪明,而且,事实上,这使他更加难忘。 所以,我想说的是,有很多的事情来判断一个人的...验证是其中之一,但肯定不是最重要的。

很多人误解这个职位意味着我们不应该的代码标准。 我们应该很明显,但它是不是应该就算真的加以考虑。 验证军队将始终谴责那些不进行验证,但验证是指除有效码这么多。

所以,不要失去你的原则,但要记住,如果你按照标准,你少了很多可能在今后问题的深结就结了。 你要提供的内容远远大于它的显示方式更重要。



文章来源: Is XHTML compliance pointless?