Description
Bug Description:
Heading levels are used in ways to affect their styling and not being used semantically. This leads to poor experiences for users of assistive technologies. See MDN's notes on navigation using headings.
Reproduction Steps:
1. Go to the home page and turn on your screen reader (Voiceover, in this instance).
2. Go to the list of headings (using the rotor in Voiceover)
3. Note that they are not linear (e.g. 2, 5, 2, 5; instead of 2, 3, 2, 3)
What should be expected is a linear tree of heading levels. Each child should be a direct descendant of the parent (e.g. an <h2>
element can only have succeeding <h3>
s as direct children).
Screenshots (If applicable):




Screenshots are from this extension.
Possible Solution (optional):
Use CSS to style elements using something like a class name or the tag name itself (for example, .subheader
or applied directly to h2
) and modify this based on zoom level, width of browser, etc.
This would likely mean we need to decouple our styling from the MUI Typography
component. Unsure how this is done, but I see the sx
prop.
Thinking it would probably make sense to either make components that are styled correctly that we can then apply a heading level to, or something of that nature, to make a more modular and more easily maintained structure (if these styles are only used in small parts of the app, I don't want to go full design system and build out unnecessary infra).