A decade + a year of heading backwards

Originally published February 2020, updated today.

It’s actually been longer (I remember being introduced to the outline algorithm in 2007), but 11 years is a number worth signifying.

In 2020 2021 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 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 [...]

Read article at html5accessibility.com

Article Taxonomies

Categories:
Fatal error: Uncaught Error: Object of class WP_Error could not be converted to string in /home/webable/www/www/wp-content/themes/webable/content-mcm.php:65 Stack trace: #0 /home/webable/www/www/wp-includes/template.php(812): require() #1 /home/webable/www/www/wp-includes/template.php(745): load_template('/home/webable/w...', false, Array) #2 /home/webable/www/www/wp-includes/general-template.php(206): locate_template(Array, true, false, Array) #3 /home/webable/www/www/wp-content/themes/webable/single-mcm_article.php(15): get_template_part('content-mcm') #4 /home/webable/www/www/wp-includes/template-loader.php(106): include('/home/webable/w...') #5 /home/webable/www/www/wp-blog-header.php(19): require_once('/home/webable/w...') #6 /home/webable/www/www/index.php(17): require('/home/webable/w...') #7 {main} thrown in /home/webable/www/www/wp-content/themes/webable/content-mcm.php on line 65