Problem/Motivation
Olivero's page template renders a lot of Drupal theme regions inside of <main>.
Since Olivero is destined to replace Bartik as the default theme, it's a good time to take stock of these, and decide how they will map to landmark regions for accessibility.
It's possible to have too many landmark regions, and their usefulness becomes diluted. 5-6 is nice, over 10 is likely too much. Drupal themes, in general, tend to have too many landmark regions.
Steps to reproduce
Proposed resolution
Remaining tasks
User interface changes
API changes
Data model changes
Release notes snippet
Comments
Comment #2
andrewmacpherson commentedInitial brain-dump, various questions and ideas...
page.hero,page.highlighted, andpage.content_above. Semantically, the difference is lost on me. Yet they all reside inside<main>, beforepage.content.page.content_belowis an complementary landmark, butpage.content_aboveisn't. I'm confused by that.page.highlightedis a complementary landmark, butpage.heroisn't. I'm very confused by that too.page.sidebaris inside of<main>. The sidebars are inside main in the page template from system/stable. I've never thought that was a good idea. Bartik's sidebars aren't inside main; it gets that right in my view.page.socialandpage.sidebarare both complementary landmarks.page.socialis outside of<main>. That's good, because it doesn't look like it's part of the main content visually (off to the side, with it's own grey background, and generous whitespace between it and the main content). The name of the theme region sounds like it has a fairly narrow set of intended uses, and they probably don't amount to main content.footer_topandfooter_bottomtheme regions, if they are both the same width, same colour, and they always stack on top of each other vertically? Bartik has several footer-* theme regions, but they change from horizontal to vertical arrangements at different viewport widths.Overall impression: there isn't really a plan here yet. It's rather messy.
CMS theme regions don't have to map directly to accessibility tree landmark regions, but we still need to think about how to describe the overall page structure to assistive tech.
It would be great to reduce Drupal's over-use of ARIA landmark regions.
Triage: major/must-have. Ideally we should do this before marking Olivero stable, but certainly before using it as the default in Standard profile. I know that Olivero is marked as
@internaland can evolve with each point release, but an ARIA landmarks plan isn't something I want to making up as we go along! It impacts at least two WCAG level-A success criteria: SC 1.3.1 Info and Relationships, and SC 2.4.1 Bypass Blocks.Comment #3
andrewmacpherson commentedComment #4
mherchelAny update on what needs to be done on this? We're really pushing hard to get stable (and default) by 9.2, which gives us one month.
Comment #5
mherchelA couple responses:
Hero is intended for homepage carousels and the like (see https://www.pace-il.ca/ as an example). Highlighted contains the status messages and tabs.
However keep in mind that site-builders can and will put random content into each of these regions.
That's a good point, we could easily change that. Should they be complimentary landmarks?
Good point, once again easily changed if we should.
We can make this change, although it may require significant work (haven't looked into it yet)
Let me know if this is not okay.
Should we hard code the accessible names when we do not know what content they will hold?
These are not intended to be semantically different, it allows the site-builder to easily stack footer content (as opposed by having it side-by-side).
Comment #6
mherchelDiscussing this with @bnjmnm
Our current plan is
<div><div><main>tag into a<div><main>Comment #7
bnjmnm#6 Makes sense, what has been discussed so far is a includes some objective, actionable issues that should absolutely be considered stable blockers. However, there are also observations here that warrant more attention but it's not yet clear if they are stable blockers. Because this issue covers a range of issues in different stages, I support creating child issues for the stable-blocking bugs, and making those the stable blockers in the roadmap, while this issue can contain both those and issues that will potentially be addressed (or at least discussed) later.
Comment #9
andy-blumI'm assuming some of the regions we have in Olivero are there because they were there in Bartick, so I'm including screenshots here of the region layout for both themes.
The first thing I notice is that we've merged a lot of Bartick's regions down together, but not quite all the way. I think we could still merge the following:
From there, I think you could probably include the new content_top, content, content_bottom, and sidebar within the main. The sidebar currently uses an aside tag that carries an implicit "complimentary" role, so moving to a div could help here - unless we intend for the sidebar to be able to carry related, but ultimately separable information from the rest of main.
Moving from thinking about Drupal's regions to thinking about the page's landmarks....
If we're looking at 5-6 landmark regions, I think we're pretty limited.
bannerlandmark from the header elementnavigationlandmark from the primary menunavigationlandmark from the user account menumainlandmark for the content & sidebarcomplimentaryornavigationfor the social sidebarcontentinfolandmark for the footerComment #10
mherchelChanging priority to Normal since we have all of the stable blockers addressed.
As far as combining regions, this is a tall order. We'd have to go through each one and figure out the reason why it was created. At first glance, I'm not sure that the benefit would outweigh the risks.
Comment #13
andy-blumAs Olivero is now stable & default is there any reason/motivation to continue this issue or can it be closed?
Comment #15
mherchelYeah, I'm marking this closed.