输出有效的HTML是否值得花时间进行开发?

时间:2020-03-06 14:35:08  来源:igfitidea点击:

开发网站非常耗时。为了提高生产力,我将编写一个原型以展示给我们的客户。我不担心使原型符合标准。大多数时候,我们的客户会批准原型,并给出不合理的期限。我通常最终会在生产中使用原型(嘿,原型可以工作。不需要加倍努力。)

我可以重构代码以输出有效的HTML。但是值得付出努力来输出有效的HTML吗?

解决方案

是的。尝试处理不同的浏览器如何呈现有效的HTML足够困难,不要介意尝试预测无效代码将如何处理。搜索引擎也是如此,HTML中的足够问题可能会导致网站无法正确索引或者根本无法索引。

我想真正的答案是"这取决于HTML的无效之处"。如果无效部分与可访问性问题有关,则我们甚至可能发现客户在商业上使用该网站时遇到法律问题。

如果我们有一个不符合要求的网站开始并且时间很短,可能不会。

但是,我们不会相信我,因为我不相信其他人,但是从一开始就使网站兼容更容易,这在浏览器兼容性,CSS行为甚至JavaScript行为以及它方面都免除了头痛通常较少维护标记。

站点合规性(至少是过渡性的)非常容易。

只有给我们实际的好处,才值得付出努力。遵守标准可能会使构建可在大多数浏览器上运行的网站变得更加容易。再说一次,如果我们对网站在我们关心的浏览器上的显示方式(也许是一个,也许是全部)感到满意,那么遍历整个框架使其通过验证是浪费时间。

同样,完全有效的html网站和最有效的html网站之间的SEO差异可以忽略不计。

因此,请始终寻找实际的好处,在某些情况下会有一些好处,但不要仅仅为了它而这样做。

如果希望残障人士和残障人士以及外部系统可以使用视线,那么可以,我们一定要确保输出有效的HTML。

使用自动验证器测试HTML很容易。

我会补充Mike Edwards关于法律后果的说法,并提醒我们我们也有道义上的义务:)

绝对地。无效的代码会导致各种奇怪的行为,而错误不会使我们得到验证报告时的行为难以理解。

例子:

黄色背景从邮件列表中溢出,并超出了下一个邮件列表的标题,但仅在Internet Explorer中。

为什么?背景被应用于列表项,但是编写页面的人将其写为一个单独的列表,中间带有一个标题。列表项之间不允许使用标题,并且不同的浏览器会尝试以不同的方式从中恢复。当Internet Explorer看到以下项目的开始(在标题之后)时,Internet Explorer结束了列表项目(具有背景色),而其他浏览器在看到第一个列表项的结束标记时结束了该列表项目。

这是页面上唯一的有效性错误,因此只花了几分钟就可以找到问题并解决。

有效的HTML只是为了能够在网站上拥有徽章。

是的,具有"适用于所有主要浏览器或者浏览器引擎的HTML"的"有效HTML"。

老实说,我不知道为什么要做额外的工作来做基于标准的HTML。这似乎并不难,我们应该将其视为专业精神。

如果我们付钱给某人盖房子,而他却偷懒地偷工减料,那我们当时没有注意到,但是十年后,墙上出现了裂缝,我们会开心吗?

产生兼容的HTML类似于确保在编译过程中没有警告,因为某种原因警告在那里,我们可能没有意识到该原因是什么,但是忽略了警告,并且在知道自己的位置之前,有那么多警告,我们无法找到与我们要解决的问题相关的问题。

如果我们使用Firefox查看网页,则右下角会出现一个有用的绿色对勾或者红色叉号,并迅速向我们显示我们是否已遵守。单击一个红叉,将显示所有我们喜欢的地方。
有些警告/错误似乎有些古怪,但是要解决它们,我们会从很多方面受益。

  • 页面更有可能与更广泛的浏览器一起使用。
  • 可访问性合规性将更容易(例如,图像上将具有" alt"属性)
  • 如果我们选择XHTML作为标准,则标记将更有可能在AJAX环境中有用。

不这样做会导致不可预测性。

Web浏览器的最大问题之一是,它们通过静默纠正某些标记问题(例如,无法关闭表单元格和/或者行)而使不良习惯长期存在(在某些情况下甚至仍然如此)。这一个事实导致成千上万个不合规但"工作"的网页,使他们的开发人员陷入虚假的安全感。

当我们考虑网站有多少问题可能会出问题时,在合规性方面保持懒惰只会给工作量增加更多的问题。

编辑:再次阅读了原始文章后,我注意到我们说我们在处理原型时不遵循法规,然后继续说我们通常在生产中使用该原型,这意味着它严格来说不是原型,而是候选人
在这种情况下,通常的情况是,一旦客户接受了候选人,就不会分配时间来修正或者整理错误,因此首先就增强了使标记符合要求的论点。

如果以后没有时间给我们,请立即执行。

如果以后有时间,那我们还是有时间去做的。

编写网站有两个规则:

  • 该网站必须为用户服务。
  • 该网站必须为用户服务。

为了满足第一个规则,我们必须进行编码,以使网站在使用Internet Explorer时能够正确呈现。除非我们有权将网站设计更改为仅使用IE正确呈现的那些功能,否则就意味着编写无效的HTML。

为了满足第二条规则,我们必须进行编码,以便在使用屏幕阅读器和盲文屏幕时可以正确呈现网站。尽管某些较新的屏幕阅读器可以使用以IE为目标的网站,但通常这意味着编写有效的HTML。

如果我们从事的是小型项目,或者是大型团队的成员,则可以编写一个网站,为IE输出以IE定位的HTML格式,否则为有效的HTML。但是,如果我们要自己承担一个大中型项目,则必须确定要遵循的规则以及要忽略的规则。

更新:

那些认为我们始终可以在IE中使用有效HTML的用户对此表示不满。如果我们可以灵活地更改设计以解决IE的缺点,那可能是正确的,但是如果客户端为我们提供了一个设计并且我们必须使其正常工作,则可能不得不诉诸无效的HTML。很难过,但这是事实,无论他们怎么想。

为什么不首先使用有效的(X)HTML编写原型?我从来没有发现比使用无效的HTML还要付出更多的努力。产生有效的XHTML应该是一件容易的事。 (另一方面,产生语义上有意义的XHTML可能会更加麻烦。)

简而言之,对于原型使用无效的HTML,我没有任何优势。

因为,如果我们遵循标准,那么工作将在将来兼容。用户代理将努力实现标准合规性,其怪异的不合规模式将随时更改。这是应该的方式。
除非我们是整个IE8破坏标准的永久保留者,否则他们想默认启用它们。 -那是另一个论点。
Webkit,Gecko,Presto? (这是歌剧的引擎吗?),其他版本将始终与每个发行版更加兼容。
除非html作品在IE嵌入式浏览器控件中,否则实际上没有理由输出有效的html,只要它呈现即可。

在我看来,关键标准是"适合目标"。如果客户想要在小型/内部市场中买东西(并且不在乎是否疏远了残障人士或者使用不太常见的浏览器的潜在客户),那么这就是他们的选择。

同时,我认为(作为开发人员)我们的责任是确保他们知道其决定的含义。某些组织将受到立法要求,即网站可供屏幕阅读器使用,这通常意味着符合标准的HTML。

我相信,如果我们从一开始就训练自己编写有效的html代码,那么使有效的html输出不会对开发时间造成太大的伤害。
首先,不难知道元素内不允许使用哪些标签
而且标记中的必需属性有时还是我们真正需要的属性,我认为这些是使html无效的主要错误,所以如果我们打算长期停留在网络上,为什么不早就学习它们?
加上输出有效的html可以帮助提高网站排名