I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. Read the initial intent/backstory. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft’s official opinion of the spec. Subsections not listed below were read without comment.
Currently reading in 4.3 Sections
UAs = user agents = browsers and other HTML document parsers/renderers
4.3.4 The nav element
“The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links.”
- The only ARIA role you can set besides the default (
presentation. A presentational, non-semantic
nav? Sounds like someone’s doing responsive menu garbage.
- It’s chill to use list markup (
ol) where the nav = list(s) of links.
- This is for major lists of links, so no need to use
naveverywhere a link list appears (for example, in the
footer, which already stores info about the site/content).
- UAs can do different things with
nav, including skip over this content or provide it upon request instead of presenting it as content information. I don’t think I’ve run into that in default OS screen readers, but it’s worth noting if you’re deciding whether or not a link list inside page content should be in a
nav. This would encourage me to limit to site-wide nav and maybe a sidebar nav if it gets repeated from page to page (like documentation wikis) and isn’t integral to understanding the current page content.
navdoesn’t always have to contain a list, which means you can also use this markup for navigation areas verbose (as in the example) and/or clever.
4.3.5 The aside element
“The aside element represents a section of a page that consists of content that is tangentially related to the content around the aside element, and which could be considered separate from that content. Such sections are often represented as sidebars in printed typography.”
- Default ARIA role is
complementary; also allowed are
- Good uses, according to spec: pull quotes, sidebars, advertising, groups of
- Not for “parentheticals”
I would have liked to see whether aside is specifically meant for use outside of
main element. I think the implication is “yes”, but it’s unclear from the code examples, which do not contain a