开发网站非常耗时。为了提高生产力,我会编写一个原型来向客户展示。我不担心让原型符合标准。大多数情况下,我们的客户会批准原型并给出不合理的截止日期。我通常最终在生产中使用原型(嘿,原型工作。不需要让我的工作更难。)

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

有帮助吗?

解决方案

如果能给你带来实际好处,那是值得的。坚持标准可能会使构建适用于大多数浏览器的网站变得更容易。再说一遍,如果你对网站在你关心的浏览器上显示的方式感到满意(可能是一个,也许是全部),那么通过环节让它通过验证是浪费时间。

此外,全有效的html网站和大多数有效的html网站之间的SEO差异可以忽略不计。

所以总是寻找实际的好处,在某些情况下有一些,但不要只是为了它。

其他提示

是。尝试处理不同浏览器如何呈现有效的HTML是很困难的,不要介意尝试预测他们对无效代码的处理方式。同样适用于搜索引擎 - HTML中的足够问题可能导致网站无法正确索引或根本没有。

我猜真正的答案是“它取决于HTML的无效内容”。如果无效部分与可访问性问题有关,您甚至可能发现如果客户在商业基础上使用该网站,则会出现法律问题。

如果您有一个不合规的网站,并且时间不够,可能不会。

然而,你不会相信我,因为我不相信别人开始,但从一开始就更容易使网站合规 - 它在浏览器兼容性,CSS行为甚至是令人头疼JavaScript行为,通常维护的标记较少。

网站合规性(至少是Transitional)非常简单。

生成兼容的HTML类似于确保在编译期间没有警告 - 警告是有原因的,您可能没有意识到这是什么原因,但忽略警告,并且在您知道自己在哪里之前,那里如此多,你无法发现与你试图解决的问题相关的问题。

如果您使用Firefox查看您的网页,您会在右下角看到一个有用的绿色勾号或红叉,快速显示您是否已遵守。点击红叉会显示您所有蠢事的地方。 一些警告/错误可能看起来有点迂腐,但修复它们,你会在很多方面受益。

  1. 您的网页更有可能适用于更广泛的浏览器。
  2. 辅助功能合规性会更容易(例如,您的图片上会有'alt'属性)
  3. 如果您选择XHTML作为标准,您的标记将更有可能在AJAX环境中有用。
  4. 不这样做会导致不可预测性。

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

    当您考虑网站可能出现的问题有多少时,在合规性方面懒得只会给您的工作负载增加更多问题。

    编辑:我再次阅读了您的原始帖子,我注意到您在制作原型时说您没有遵守合规性,然后您继续说您通常在生产中使用原型 - 这意味着它不是严格的原型,但候选人。 在这种情况下的正常情况是,一旦客户接受候选人,就没有时间分配错误修复或整理,从而加强了首先使标记符合的论点。

    如果您以后没有时间,请立即行动。

    如果你以后有时间,那么你还有时间去做。

如果您希望残障人士以及外部系统可以访问您的视线,那么您应该确保输出有效的HTML。

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

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

为什么不首先在有效的(X)HTML中编写原型?我从不发现这比使用无效的HTML要多得多。生成有效的XHTML应该是一项微不足道的任务。 (另一方面,生成语义上有意义的 XHTML可能会更加沉重。)

简而言之,我认为在使用无效的HTML原型时没有任何优势

老实说,我不知道为什么要做基于标准的HTML是额外的努力。这并不像是很难,你应该以专业的态度来做这件事。

如果你付钱给别人建房子而且他在懒惰时偷工减料,你当时没有注意到,但是10年后你的墙上出现了裂缝,你会幸福吗?

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

拥有“有效的HTML”在“适用于每个主要浏览器或浏览器引擎的HTML”的意义上, - 是的。

绝对。无效的代码可能会导致各种奇怪的行为,以及不会掩盖验证报告时出现的错误。

案例:

黄色背景从消息列表和下一个消息列表的标题中溢出 - 但仅限于Internet Explorer。

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

这是页面上唯一的有效性错误,因此只需几分钟即可找到问题并进行修复。

因为,如果你坚持标准,你的工作将来会兼容。用户代理将努力实现标准合规性,并且他们的怪癖不合规模式将始终可能发生变化。这是应该的方式。 搜索结果 除非你进入那个他们希望默认启用的整个IE8破坏标准永久物。 - 这是另一个论点。 点击 Webkit,Gecko,Presto? (那是歌剧的引擎吗?),其他人将始终更加符合每个版本。 搜索结果 除非你的html工作在IE嵌入式浏览器控件中,否则只要它呈现就没有理由输出有效的html。

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

与此同时,我认为我们(作为开发人员)有责任确保他们了解其决策的含义 - 某些组织将受到屏幕阅读器可以使用网站的法律要求的约束,这通常意味着符合标准的HTML

我相信如果你从一开始就训练自己编写有效的html代码,那么制作有效的html输出不会对你的开发时间造成太大影响。

一个,它不是很难知道哪个标签不允许在元素中?标签中的必需属性有时是你真正需要的 - 我相信这些是主要的使你的HTML无效的错误,所以如果你打算长时间留在网上,为什么不尽早学习呢?
加上输出有效的HTML可以帮助提高你的网站排名

编写网站有两条规则:

  1. 该网站必须为您的用户服务。
  2. 该网站必须为您的用户服务。
  3. 要满足第一条规则,您必须编写代码,以便在使用Internet Explorer时您的网站正确呈现。除非您可以自由地更改网站设计以仅使用IE正确呈现的那些功能,否则这意味着编写无效的HTML。

    要符合第二条规则,您必须编写代码,以便在使用屏幕阅读器和盲文屏幕时您的网站正确呈现。虽然一些较新的屏幕阅读器可以使用IE目标网站,但一般来说这意味着编写有效的HTML。

    如果您正在处理一个小项目,或者您是一个大型团队的一员,您可以编写一个为IE输出IE目标HTML的站点,否则就会生成有效的HTML。但是如果你自己承担一个大中型项目,你必须决定你将遵循哪个规则以及你将忽略哪个规则。

    更新:

    对于那些认为你总能在IE浏览器中使用有效HTML的用户而言,这已经被拒绝了。如果你可以灵活地改变你的设计来解决IE的缺点,那可能就是这样,但是如果客户给你一个设计并且你必须让它工作,你可能不得不求助于无效的HTML。这很难过,但无论他们想到什么都是如此。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top