HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
whatwg
dom
HTML2013–2025
whatwg / dom

dom

DOM Standard

27Distinct people
28Mentions
0Explicit recommenders
1.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

DOM Standard

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 2:04:58 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year28 dated mentions

Observed mentions: 2013-04-24 15:14:48 UTC to 2025-06-27 11:32:56 UTC.

02462013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 7 mentions; 2 submissions, 5 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC110
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC110
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC000
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC413
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC303
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC725
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC422
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
This repository hosts the DOM Standard. It is one of many web standards developed by the WHATWG community. Code of conduct We are committed to providing a friendly, safe, and welcoming environment for all. Please read and respect the Code of Conduct. Contribution opportunities Folks notice minor and larger issues with the DOM Standard all the time and we'd love your help fixing those. Pull requests for typographical and grammar errors are also most welcome. Issues labeled "good first issue" are a good place to get a taste for editing the DOM Standard. Note that we don't assign issues and there's no reason to ask for availability either, just provide a pull request. If you are thinking of suggesting a new feature, read through the FAQ and Working Mode documents to get yourself familiarized with the process. We'd be happy to help you with all of this on Chat. Pull requests In short, change dom.bs and submit your patch, with a good commit message. Please add your name to the Acknowledgments section in your first pull request, even for trivial fixes. The names are sorted lexicographically. To ensure your patch meets all the necessary requirements, please also see the Contributor Guidelines. Editors of the DOM Standard are expected to follow the Maintainer Guidelines. Tests Tests are an essential part of the standardization process and will need to be created or adjusted as changes to the standard are made. Tests for the DOM Standard can be found in the dom/ directory of web-platform-tests/wpt. A dashboard showing the tests running against browser engines can be seen at wpt.fyi/results/dom. Building "locally" For quick local iteration, run make; this will use a web service to build the standard, so that you don't have to install anything. See more in the Contributor Guidelines. Formatting Use a column width of 100 characters. Do not use newlines inside "inline" elements, even if that means exceeding the column width requirement. <p>The <dfn method for=DOMTokenList lt=remove(tokens)|remove()><code>remove(<var>tokens</var>&hellip;)</code></dfn> method, when invoked, must run these steps: is okay and <p>The <dfn method for=DOMTokenList lt=remove(tokens)|remove()><code>remove(<var>tokens</var>&hellip;)</code></dfn> method, when invoked, must run these steps: 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 <a>token</a> is fine and <a>token </a> 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>For each <var>token</var> in <var>tokens</var>, in given order, that is not in <a>tokens</a>, append <var>token</var> to <a>tokens</a>. is not indented, but <ol> <li> <p>For each <var>token</var> in <var>tokens</var>, run these substeps: <ol> <li><p>If <var>token</var> is the empty string, <a>throw</a> a {{SyntaxError}} exception. is. End tags may be included (if done consistently) and attributes may be quoted (using double quotes), though the prevalent theme is to omit end tags and not quote attributes (unless they contain a space). Place one newline between paragraphs (including list elements). Place three newlines before <h2>, and two newlines before other headings. This does not apply when a nested heading follows the parent heading. <ul> <li><p>Do not place a newline above. <li><p>Place a newline above. </ul> <p>Place a newline above. <h3>Place two newlines above.</h3> <h4>Placing one newline is OK here.</h4> <h4>Place two newlines above.</h4> Use camel-case for variable names and "spaced" names for definitions, algorithms, etc. <p>A <a for=/>request</a> has an associated <dfn export for=request id=concept-request-redirect-mode>redirect mode</dfn>,... <p>Let <var>redirectMode</var> be <var>request</var>'s <a for=request>redirect mode</a>.
Read the full README on GitHub

What Hacker News says

4 sources
I am having trouble finding the background information on this. Basically, the WHATWG took the W3C DOM and wildly changed some foundational concepts without a thorough understanding of what those decisions mean. Here is a very simplified description of this problem years after the fact: https://github.com/whatwg/dom/issues/102 It is important to understand the DOM wasn't created for HTML. The DOM, starting with DOM level 2, was created in parallel with XML Schema. This is evident when reading some of the W3C mailing lists and comparing release dates of W3C publications. Attribute nodes can be independently walked when walking the DOM. By removing attributes as a node type you break this functionality. You can use this little utility I wrote as a proof: https://github.com/prettydiff/getNodesByType/blob/master/get... Browser vendors ar
Read the rest
e extremely shy about adopting new technology that makes for breaking changes. They will do so, but you need to have an incredibly strong argument. WHATWG's changes to the DOM had no beneficial argument, except perhaps developer convenience for those developers who cannot figure out DOM walking. The DOM is a pretty solid technology with regard to extensibility, predictability, and sturdiness. If you maintain a large major browser and somebody came to you with breaking changes and a bunch of weak bullshit for justifications what would you do? Also, imagine if you will, that if you ever challenge the people bringing you this pile of shit they will troll the hell out of you in a very visible and immature way. The response from the browser vendors was to simply say nothing and ignore them like they were never there. I got into an argument about this with the WHATWG on a github issue once, and wish I hadn't. Ignorance is like a black hole that sucks everything in and it never stops to allow rational signals to escape undamaged.
In HTML 5.2 Recommendation
> Nothing you said here is true of the WHATWG standard. It doesn't make breaking changes and it is specific. Counterexample: About three months ago I asked on HN why on modern browsers some subtests of Acid3 fail: > https://news.ycombinator.com/item?id=15256890 I actually got some pretty smart answers, for example: > https://news.ycombinator.com/item?id=15259428 To quote it for convenience: "Two changes lead to three failures in Chrome. The first change is described in the 'note' at https://drafts.csswg.org/selectors-4/#child-index Chrome is failing a test because the root node claims to be a 'first-child'. The root node is the first sibling, but since it doesn't have a parent, the selectors 3 spec didn't include it. The selectors 4 draft does away with the requirement that a 'first-child' have a parent, and chrome's behaviour matches. Th
Read the rest
e second is discussed here https://github.com/whatwg/dom/issues/319 Roughly, when interpreting qualified names, Chrome is throwing InvalidCharacterErrors when the acid test wants it to throw NamespaceErrors, in situations where you really have both. This leads to two tests failing." So decide for yourself whether the WHATWG "standard" did breaking changes in the past or not.
In HTML 5.2 Recommendation
Two changes lead to three failures in Chrome. The first change is described in the 'note' at https://drafts.csswg.org/selectors-4/#child-index Chrome is failing a test because the root node claims to be a 'first-child'. The root node is the first sibling, but since it doesn't have a parent, the selectors 3 spec didn't include it. The selectors 4 draft does away with the requirement that a 'first-child' have a parent, and chrome's behaviour matches. The second is discussed here https://github.com/whatwg/dom/issues/319 Roughly, when interpreting qualified names, Chrome is throwing InvalidCharacterErrors when the acid test wants it to throw NamespaceErrors, in situations where you really have both. This leads to two tests failing.
In Ask HN: Why don't modern Chrome and Firefox pass the Acid3 test anymore?

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.