It’s actually been longer (I remember being introduced to the outline algorithm in 2007), but 12 years is a number worth signifying.
2020 2021 2022 as it was in 2010 the HTML specification defines an outline algorithm and specifies how it affects heading rank regardless of the hard coded heading level
h1...h6 and how
<hgroup> automagically transforms multiple headings into a single heading.
Problem is that its never been implemented, as a consequence developers taking the specification as the truth, have been and continue to be misled. The reality of this fantasy has been burned into many books on HTML and articles over the last decade. The disconnection between implementation reality and HTML specification has been raised many a time. This was in the past partially mitigated by the the HTML5 specification (2014), which initially warned of the disconnect and later modified the definitions of the various elements effected by the non existent outline algorithm and obsoleted the
hgroup element (as it does nothing apart from provide a hook for developers to hang CSS styles off), so that they aligned with a (less) desirable but actual implementation of the semantics of headings and sectioning elements. This included updating the code examples to reflect that
<h1> elements are semantically heading level 1 elements regardless of what they are nested in.
There has been ongoing discussions with the current keepers of the HTML specification, but as such discussions do, have dragged on for years. This is not uncommon or sometimes undesirable, but what is uncommon and undesirable is that important information used by developers and expected to have a passing relationship to reality, does not and has not aligned with implementations for 10 years or so.
10 years + 2, no change
Good news was that there appeared to be movement at the station and the HTML specification may sometime soonish reflect reality. The question is still 10 years + 2:
Why is it OK to have a substantial set of authoritative semantic HTML definitions misdirect developers for so long?
And then there is the question What do we do with
Jolly Fucker lyrics
Promote yourself, look like a cunt Vodka parties, cushioned walls in a shit club I 'ain't bothered where it goes, I've got a job I'll rot away in the aisles of the Co-op mate, no prob French Fancies, Mr Kipling, acid dances Let's laugh at local record plants Elitist hippies, arrogant cunts, Ian Beale, tight trunks Tight pants, grammar wanker, walk the plank, pirate mankey Sixty kids, where's mine? Wasting money on shit coffee all the time Fish fingers, take the batter off, I can't believe you had kids, fuck off Jolly fucker Jolly fucker Jolly fucker Mr Jolly Fucker Lamp Light Boogie, re-press, re-press Bus cunt, move then, mate, move for fucks sake The machine goes bleep, ticketless, sheep Baa baa crack sheep, have you any rock? EDL twat, Tommy used to work on the dock Union went all white, he fuckin' loved it Take it down, there, take it down, there Camouflage, Humpty Dumpty, Crusades Blood on the hands of working class rage Jolly fucker Jolly fucker Jolly fucker Mr Jolly Fucker Why do I walk on City and Guilded splinters? Digital time boards on the new public shitters Soft dips in hard roads, curry night, I'd better watch my words Two pint bull and loads of office turds Push in, don't push me, I was here first, you cunt Can't you fuckin' see? Jolly fucker Jolly fucker Jolly fucker Mr Jolly Fucker