Skip to content

Update header/footer mappings for role=sectionheader/sectionfooter #585

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
rahimabdi opened this issue Jun 3, 2025 · 2 comments · May be fixed by w3c/aria#2543
Open

Update header/footer mappings for role=sectionheader/sectionfooter #585

rahimabdi opened this issue Jun 3, 2025 · 2 comments · May be fixed by w3c/aria#2543
Assignees

Comments

@rahimabdi
Copy link
Contributor

rahimabdi commented Jun 3, 2025

Main issue detailing the ARIA/core-aam change for role="sectionheader" and role="sectionfooter" : w3c/aria#1931.

It looks like html-aam WPTs were also written for these new roles to test that they act as implicit roles for <header>/<footer> (https://github.com/web-platform-tests/wpt/blob/f3be5f1e7435ecf568f0e778b63eb240df93fd60/html-aam/roles-contextual.tentative.html) however, this also needs needs to be updated in html-aam as they are currently mapped as generic:

@rahimabdi rahimabdi self-assigned this Jun 3, 2025
@scottaohara
Copy link
Member

@rahimabdi this is the work i was talking about on friday. i'd like this PR to include an update to what being "scoped to the body" means - to better clarify that it's more about whether these elements are accessibility children of the "document"

e.g., the following isn't really "right" in what the intent of this "scoped to body" meant to accomplish - but per the current spec text browsers are all doing this

<main>
	<header>foo</header> <!-- correctly mapped to generic / sectionheader (per this issue)
</main>

<div role=main>
	<header>foo</header>  <!-- mapped to banner role, which per the above behavior, isn't really "right" -->
</div>

@rahimabdi
Copy link
Contributor Author

rahimabdi commented Jun 6, 2025

After discussion with @scottaohara, this issue/PR should only tackle behavior of <header>/<footer> when they are descendants of native sectioning elements. To summarize:

  • If a <header> is a descendant of <article>, <main>, <nav>, <section> or <aside>, it should be exposed as a navigable region with role="sectionheader" if it has an accessible name
  • If a <footer> is a descendant of <article>, <main>, <nav>, <section> or <aside>, it should be exposed as a navigable region with role="sectionfooter" if it has an accessible name
  • For interop purposes, the computed role string of <header> is "sectionheader", and <footer> is "sectionfooter" (in the above cases)

Related but separate issue for when <header>/<footer> are descendants of ARIA roles that are sectioning element equivalents (e.g., role="main"): #586.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants