lmhaskins (8) [Avatar] Offline
(v10 MEAP) In going through section 1.2.2, it was hard for me to grasp what the "HTML5 outlining algorithm" was. Your descriptions were:

p8: "HTML5 formalizes this implicit structure with the outlining algorithm. In this section you will learn about this algorithm as well how it interacts with the two new heading elements <header> and <hgroup>."


p10: "The outlining algorithm is new to HTML5. It is the outlining algorithm which gives a semantic definition to the implicit outlining generated by heading elements. It should automatically generate a table of contents for your entire document based on the section and heading markup you've used."

For me that was pretty dry (my eyes glazed over at "semantic definition," which is fairly abstract for a book with cartoons, imho), and I still have no idea what the outlining algorithm is or when it's used, and why I should otherwise care, so I went out to the web to figure out what it is, since "formalizing this implicit structure" and "gives a semantic definition" didn't do it for me.

I would have liked the explanation of what the outlining algorithm was, say, in its own paragraph probably the first one of 1.2.2, instead of being on both p.8 and p.10. Like perhaps

1.2.2 Headings, headers, and the outlining algorithm

New to HTML5 is the outlining algorithm. This algorithm is used by agents (browsers, etc.) to create an outline structure of the current document for accessibility, ...

// then go with your first paragraph

Heading elements provide an implicit structure for documents that is used by the outlining algorithm to automatically generate the table of contents....
robert.crowther (59) [Avatar] Offline
Re: The HTML5 outlining algorithm

Hi lmhaskins, thanks for your feedback

I agree that the purpose of the outlining algorithm could be more clear but I think how I've described it is technically accurate. There's actually nothing in the HTML5 spec that declares what it's for, only an algorithm for creating the 'document outline' (or as I've described it 'table of contents', or as you've described it 'outline structure').

The only specified requirement for it that I'm aware of is in the W3C's User Agent Accessibility Guidelines (Implementing Guideline 1.10 - Provide alternative views). I think you're right that I should mention this, I'll see if an update can be made there.