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 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 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

28 sources
> There are in-flight proposals for very low-level DOM update primitives, like DOM Parts, which target framework implementations, but I think higher-level APIs like full declarative templating can take even more load off, help prove out and complete the lower-level API proposals, and be really impactful for developers and users. There is an alternative suggestion to DOM parts which might be a better bet: https://github.com/whatwg/dom/issues/736
In The time is right for a DOM templating API
My long-shot hope is that the page can come to embody most of the wiring on the page, that how things interact can be encoded there. Behavior of the page can be made visible! There's so much allure to me to hypermedia that's able to declare itself well. This could radically enhance user agency, if users/extensions can rewire the page on the fly, without having to delve into the (bundled, minified) JS layers. There's also a chance the just-merged (!) moveBefore() capability means that frameworks will recreate HTML elements less, which is a modern regression that has severely hampered extensions/user agency. https://github.com/whatwg/dom/pull/1307
In Introducing command And commandfor In HTML
in plain htmx, you can target an area that doesn't disrupt a playing video (e.g. the comments box appending to the comments) or you can use a morphing algorithm that disrupts the DOM less. i have my own morphing algorithm (and a corresponding htmx plugin that allows you to use it) called idiomorph: https://github.com/bigskysoftware/idiomorph/ i've also been working with the chrome team to get a feature added they are calling "atomic moves": https://github.com/whatwg/dom/issues/1255 this would allow us to move elements around in the DOM without losing things like play state or focus or whatever very excited for this last idea, I think it will be a huge boon for the web in general, not just for htmx
In A Response to "Have Single-Page Apps Ruined the Web?" (2021)
Thanks for the shout-out! I think I mention this in the talk, but note that YMMV. I designed that benchmark as a kind of "worst-case scenario" where shadow DOM / scoped styles really show a benefit. Depending on your CSS rules, DOM size, and amount of thrashing, the perf benefit could be small to large. Also, it's still possible to shoot yourself in the foot, especially if you have a large/complex stylesheet repeated across multiple shadow roots. (Not because of the repetition – that's optimized in browsers [1] – but rather because of the number of DOM nodes affected.) That said, I still think the perf benefits of shadow DOM have been undersung. And Declarative Shadow DOM makes it way more useful. [1]: https://github.com/whatwg/dom/issues/831#issuecomment-585489...
In Declarative Shadow DOM
I see many people have problem with that in the comments here. However I don’t find that to be an issue. Passing properties (as opposed to attributes) allows complex types and many popular frameworks have a handy shorthand for it (e.g. in lit-html you write `<my-component .prop=${[1, 2, 3]}>`). In my opinion the bad ergonomics is actually when authoring the components (not consuming it). Many of the faults have been excellently pointed out previously[1]. The most glaring the boilerplate you have to write if you want your attributes to reflect a property. This has an easy fix though, which is that you simply don’t write your web components by hand. You either use a library (like lit-element[2]) or a compiler (like stencil[3]). I’m personally waiting for a less opinionated compiler with a smaller runtime then stencil (preferably no runtime;
Read the rest
perhaps that is Svelte with a web component target, I haven’t tried it). There is also a proposal for a declarative shadow DOM[4], which aims to tackle some of the bad dev experience we have with web components. However I’m personally a little skeptic that it is a good proposal, or that it will fix what most web component devs are concerned about. 1: https://dev.to/richharris/why-i-don-t-use-web-components-2ci... 2: https://github.com/lit/lit-element 3: https://stenciljs.com/ 4: https://github.com/whatwg/dom/issues/831
In Real-world CSS vs. CSS-in-JS performance comparison
The original issue is WHATWG, conversation should stick to WHATWG first: https://wicg.github.io/webusb/ https://webbluetoothcg.github.io/web-bluetooth/ https://www.w3.org/2012/nfc/web-api/ https://www.w3.org/TR/html-imports/ # that one scrapped That is not WHATWG. WebReflection shows a great example of civilized discourse [1]. If excuse not to extend feature is low usage we'd better provide competing arguments how it is useful. If problem is usability we should address it first [2]. [1] https://github.com/whatwg/dom/issues/903#issuecomment-707828... [2] https://news.ycombinator.com/item?id=24766845
In WhatWG: Proposal – Update XPath to at least v2.0
Most impactful part of this imo is: > Chrome is not interested in this. The XML parts of our pipeline are in maintenance mode and we would love to eventually deprecate and remove them > -- https://github.com/whatwg/dom/issues/903#issuecomment-707748... Given Chrome's status as the new IE6 in terms of market share and outsized influence over the technological direction of the web, there's a real risk of moves like this being unilateral. On the other hand, the last two comments re: libxml being their primary concern do give some hope.
In WhatWG: Proposal – Update XPath to at least v2.0
My biggest concern with using Shadow DOM for things like this is that it makes it depend upon JavaScript, which I strongly prefer not to do.¹ I know there’s some research work into declarative Shadow DOM², which has the potential to resolve this, but that’s still quite some way off. As it stands, I don’t feel comfortable using Web Components with Shadow DOM for things like this, which is a pity, because it’s a delightful way to work, and this toolkit looks very good in most regards. Instead, I like Svelte’s model which essentially allows you to write things this way, but have it result in light DOM, so that you can still do server-side rendering if you desire. ¹ Requiring JavaScript harms accessibility, especially for web pages (as distinct from web apps). It makes pages take longer to load, not be as spider-friendly, and be more fragile
Read the rest
when JavaScript fails to load, whether deliberately or accidentally—and simple network failures and the likes break things more often than you might imagine. I myself browse the web with JavaScript disabled via uMatrix, mostly because it speeds the web up a lot on average. Privacy improvements are a distant secondary reason. When I encounter pages that require JavaScript, I either give up on them or open them in a Private Browsing window, where I don’t have the uMatrix extension enabled; or if it’s something I expect I may be using more than once or twice, I see about more precise whitelisting in uMatrix. ² https://github.com/whatwg/dom/issues/831
In Shoelace 2.0 release: UI toolkit that works with all frameworks or none at all

Showing the 15 most recent of 28 sources. Enable JavaScript to search and browse every indexed mention.

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.