HTML编码标准

HTML

验证

所有 HTML 页面都应根据W3C 验证器进行验证,以确保标记格式正确。这本身并不能直接表明代码是好的,但它有助于剔除能够通过自动化测试的问题。它不能替代手动代码审查。(对于其他验证器,请参阅Codex 中的HTML 验证。)

自闭合元素

所有标签必须正确关闭。对于可以包装文本或其他元素等节点的标签,终止是一项足够简单的任务。对于自动关闭的标签,正斜杠前面应该有一个空格:

<br />

而不是紧凑但不正确:

<br/>

W3C 指定在自闭合斜杠 ( source ) 之前应该有一个空格。

属性和标签

所有标签和属性必须以小写形式书写。此外,当其中文本的目的仅供机器解释时,属性值应为小写。对于数据需要人类可读的实例,应遵循适当的标题大写。

对于机器:

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

对于人类:

<a href="http://example.com/" title="Description Here">Example.com</a>

引号

根据 XHTML 的 W3C 规范,所有属性都必须有一个值,并且必须使用双引号或单引号 ( source )。以下是正确和不正确使用引号和属性/值对的示例。

正确:

<input type="text" name="email" disabled="disabled" />
<input type='text' name='email' disabled='disabled' />

错误:

<input type=text name=email disabled>

在 HTML 中,属性不必都具有值,属性值也不必总是用引号引起来。虽然上面的所有示例都是有效的 HTML,但不引用属性可能会导致安全漏洞。始终引用属性。

缩进

与 PHP 一样,HTML 缩进应该始终反映逻辑结构。使用制表符而不是空格。

将 PHP 和 HTML 混合在一起时,缩进 PHP 块以匹配周围的 HTML 代码。结束 PHP 块应该与开始块匹配相同的缩进级别。

正确:

<?php if ( ! have_posts() ) : ?>
<div id="post-1" class="post">
    <h1 class="entry-title">Not Found</h1>
    <div class="entry-content">
        <p>Apologies, but no results were found.</p>
        <?php get_search_form(); ?>
    </div>
</div>
<?php endif; ?>

错误:

<?php if ( ! have_posts() ) : ?>
<div id="post-0" class="post error404 not-found">
<h1 class="entry-title">Not Found</h1>
<div class="entry-content">
<p>Apologies, but no results were found.</p>
<?php get_search_form(); ?>
</div>
</div>
<?php endif; ?>

HTML 代码标准改编自Fellowship Tech Code Standards(CC 许可)。