[html5] What is the point about nav, header, footer and aside elements?
Markus Ernst
derernst at gmx.ch
Wed Nov 28 01:19:14 PST 2012
Hello
I try to follow the discussion on the main element in the WHATWG list. I
don't want to bloat that discussion with my dummy question, so I post it
here in the Help list - feel free to ignore it if you think this has
been discussed enough before; this is no trolling attempt however (I
actually tried to find the old discussions, but the list archive search
does not seem to find any matches for "nav" or "aside" right now).
The longer the main element is discussed, the more I ask myself what is
actually the point in all the new semantic elements such as nav, header,
footer and aside. Would it not be much easier to solve this via an
attribute?
<ul role="navigation">...</ul>
seems to be simpler to me than:
<nav><ul>...</ul></nav>
And the former would even be better with regard to BC compatibility (at
least I assume that a CSS selector "ul[role=navigation]" has better
support in legacy browsers than the selector "nav ul").
Trying to understand the ARIA roles, I see that this model is indeed too
sophisticated to be adopted by the majority of authors. But this could
be worked around easily in 2 ways:
- Introduce a global attribute @role to the HTML spec, and suggest the
ARIA roles to be used as values for navigation, header, footer and aside
type content (which would reduce the discussion on main to it being
mentioned in the HTML spec or not as a suggested value of @role)
- Introduce a new global attribute with a set of values for those types
of content
OTOH, introducing hav, header, footer and aside elements adds complexity
to the document structure by inserting elements that have the sole
purpose of telling the UA what kind of contents they have inside. If
this is no problem - then I don't see why it is such a hard discussion
on adding the main element, too.
More information about the Help
mailing list