开发网站非常耗时.为了提高生产力,我会编写一个原型来向客户展示.我不担心让原型符合标准.大多数情况下,我们的客户会批准原型并给出不合理的截止日期.我通常最终在生产中使用原型(嘿,原型工作.不需要让我的工作更难.)
我可以重构代码以输出有效的HTML.但是输出有效的HTML是值得的吗?
如果能给你带来实际好处,那是值得的.坚持标准可能会使构建适用于大多数浏览器的网站变得更容易.再说一次,如果你对网站在你关心的浏览器上显示的方式感到满意(可能是一个,也许是全部),那么通过环节让它通过验证是浪费时间.
此外,一个全有效的HTML网站和一个大多数有效的HTML网站之间的SEO差异可以忽略不计.
所以总是寻找实际的好处,在某些情况下有一些,但不要仅仅为了它.
是.尝试处理不同浏览器如何呈现有效的HTML是很困难的,不要介意尝试预测他们对无效代码的处理方式.搜索引擎也是如此 - HTML中的足够问题可能导致网站无法正确编制索引或根本无法编制索引.
我想真正的答案是"这取决于对HTML的无效".如果无效部分与可访问性问题相关,您甚至可能会发现如果客户在商业基础上使用该网站时存在法律问题.
如果你有一个不合规的网站开始并且时间不够,可能不会.
但是,你不会相信我,因为我不相信别人首先,却容易使从一开始就遵循一个网站 - 它可以节省你头痛的浏览器兼容性,CSS行为,甚至是JavaScript的行为和条件通常维护的标记较少.
网站合规性(至少是Transitional)非常简单.
生成兼容的HTML类似于确保在编译期间没有警告 - 警告是有原因的,您可能没有意识到这是什么原因,但忽略警告,并且在您知道自己在哪里之前,有这么多,你无法发现与你试图解决的问题相关的问题.
如果您使用Firefox查看您的网页,您将在右下角看到一个有用的绿色勾号或红叉,快速显示您是否已遵守.点击红叉会显示您所有蠢事的地方.一些警告/错误可能看起来有点迂腐,但修复它们,你会在很多方面受益.
您的页面更有可能适用于更广泛的浏览器.
可访问性合规性将更容易(例如,您的图像上将具有"alt"属性)
如果您选择XHTML作为标准,那么您的标记将更有可能在AJAX环境中有用.
不这样做会导致不可预测性.
Web浏览器最大的问题之一是它们通过默默地纠正某些标记问题(例如无法关闭表格单元格和/或行)而延续了坏习惯(在某些情况下仍然存在).这一事实导致成千上万的网页不合规但"工作",使他们的开发人员陷入虚假的安全感.
当您考虑网站可能出现的问题有多少时,在合规性方面懒惰只会给您的工作负载增加更多问题.
编辑:再次阅读你的原始帖子,我注意到你说你在制作原型时没有遵守合规性,然后你继续说你通常在生产中使用原型 - 这意味着它不是严格的原型但是候选人.在这种情况下的正常情况是,一旦客户接受候选人,就没有时间分配错误修复或整理,从而加强了首先使标记符合的论点.
如果您以后没有时间,请立即行动.
如果你以后有时间,那么无论如何你都有时间去做.
如果您希望残障人士和外部系统可以访问您的视线,那么是的,您一定要确保输出有效的HTML.
使用自动验证器测试HTML很容易.
我将补充Mike Edwards关于法律后果的说法并提醒您,您也有道德义务:)
为什么不首先在有效的(X)HTML中编写原型?我从来没有发现这比使用无效的HTML要多得多.生成有效的XHTML应该是一项微不足道的任务.(另一方面,产生具有语义意义的 XHTML可能会更加沉重.)
简而言之,我认为在原型中使用无效的HTML 没有任何优势.