Skip to content

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

Open
w3c/aria
#2543
@rahimabdi

Description

@rahimabdi
Contributor

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:

Activity

self-assigned this
on Jun 3, 2025
scottaohara

scottaohara commented on Jun 3, 2025

@scottaohara
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

rahimabdi commented on Jun 6, 2025

@rahimabdi
ContributorAuthor

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"

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Participants

    @scottaohara@rahimabdi

    Issue actions

      Update header/footer mappings for role=sectionheader/sectionfooter · Issue #585 · w3c/html-aam