Usage
- Headings are not just larger text
- Headings must be logically ordered.
- Arrow keys will browse headings (not the tab key)
- Headings must not receive focus
Annotations for headings
- Start with a single
<h1>
per page (typically the same as the <title>
)
- Title major sections with
<h2>
- Subsections with
<h3>
- It should be rare that
<h4>
and beyond is required.
Applying styles to code
- Divorce styles and token names from markup completely
- Directly styling headings forces heading order to lose meaning
- While this seems better, it really isn’t.
- Even though
class="h1"
could be applied to any element, developers WILL interpret this as <h1 class="h1">
Good example
- Set all headings to a small default to force devs to seek correct styles
- Choose naming conventions without implied semantics
- Styles are now separated from markup
- This allows the preservation of good heading structure and flexibility in design
Complex headings
- When multiple styles exist inside a heading use spans and css styles to achieve the desired result
Related heading: h1, h2, h3 entries