Good afternoon!
In the context of an accessibility audit conducted by Dataport, the current structure of the page headings has been reported. The audit highlighted that there were too many H1s, which is especially true on pages like the Dashboard. This caused the auditor to report a lack of structure on the page. I started implementing a solution in this pull request , but wanted to make sure such changes would only happen after a discussion.
The tricky part of this question is that there is still no official recommendation in standards. As far as I could see, neither HTML or WCAG give precise indications on the best solution.
In the past, the subject of the heading structure has already been discussed, such as in those two discussions on the mailing list (2009):
- https://lists.xwiki.org/hyperkitty/list/xwiki-devs@xwiki.org/thread/XM2KKRAW3X6L3M45PFY5GKGKB7MRUDXC/#UZRQTTPMAIUIQVIYYU4MPTJ5OH5WUUBE
- https://lists.xwiki.org/hyperkitty/list/xwiki-devs@xwiki.org/thread/WYF5EEJJC5CI5QVNWFWABJNCNCKQ2HA3/#VWXNX4FLD3XXTRJYRUAWKNWZKVWAC6JC
On one hand, the complementary content is not bound to the main page content, so it would make sense for it to be in a separate āheading-treeā. On the other hand, itās more or less the default today to have only one H1 per web page and most of accessibility tools / audits count having more than one H1 as against the best practice. Here, we can see that even if the W3Cās page has a couple H1s, it keeps H2s on complementaries (very similar to our side panels):
From what I could gather, today a H1 is recognized by most people and tools as the page title. Moreover, in the context of a XWiki page, the title of the current page is more important than the title of the panels.
However, banning/removing H1 from user content would be very complicated (breaking the expected rendering at a fundamental level).
In regards to all of these elements, I want to propose a change in our use of H1s in the UI:
proposal#
Only use one H1 per page, except for user generated content.
This would mean that we do not update the rendering of userās content, but we should change:
- current UI elements using H1s such as panels
- default page contents with H1s, such as the Home page, to replace every
= title =
with== title ==
#END OF PROPOSAL#
I think the first point is just necessary for our interface to provide a better heading structure. The second one goes in the direction of educating users by providing them with some examples that have optimal accessibility. The first one is more critical but also less wide in its application.
Note that this heading structure question is not as important regarding accessibility as it was a few months ago because landmarks were added in the interface (XWIKI-20696 and XWIKI-18838). They provide an alternative way to navigate and scan the content for Assistive Technology users.
Please let me know if I missed a critical argument in this discussion (or a forum/mailing list topic)
What do you think of this proposal?
Thank you in advance for your feedback,
Lucas C.