Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

This repository hosts the Infra Standard.

Code of conduct

We are committed to providing a friendly, safe, and welcoming environment for all. Please read and respect the WHATWG Code of Conduct.

Contribution opportunities

Folks notice minor and larger issues with the Infra Standard all the time and we'd love your help fixing those. Pull requests for typographical and grammar errors are also most welcome.

We'd be happy to mentor you through this process. If you're interested and need help getting started, review the WHATWG contributing guidelines, and leave a comment on the issue or ask around on IRC.

Pull requests

In short, change and submit your patch after reading through WHATWG committing best practices. Lastly, please review the WHATWG FAQ.

Please add your name to the Acknowledgments section in your first pull request, even for trivial fixes. The names are sorted lexicographically.

Building "locally"

For quick local iteration, run make. To verify your changes locally, run make deploy. See more in the WHATWG Contributor Guidelines.


Use a column width of 100 characters.

Do not use newlines inside "inline" elements, even if that means exceeding the column width requirement.

 <a href=>set <var>response</var>'s CSP list</a>
 on <var>response</var>. <span data-anolis-ref>CSP</span>

is okay and

<a href=>set <var>response</var>'s CSP
list</a> on <var>response</var>. <span data-anolis-ref>CSP</span>

is not.

Using newlines between "inline" element tag names and their content is also forbidden. (This actually alters the content, by adding spaces.) That is


is fine and


is not.

An <li> element always has a <p> element inside it, unless it's a child of <ul class=brief>.

If a "block" element contains a single "block" element, do not put it on a newline.

Do not indent for anything except a new "block" element. For instance

 <li><p>Set <var>response</var>'s <span title=concept-response-url-list>url list</span> to a copy of
 <var>request</var>'s <span title=concept-request-url-list>url list</span>.

is not indented, but

  <p>Run these substeps <span data-anolis-spec=html>in parallel</span>:



End tags must be omitted when possible and attribute values must not be quoted (if necessary, use double quotes).

Merge policy

If you can commit to this repository, see the WHATWG maintainer guidelines.