Skip to content

Conversation

@knowler
Copy link
Contributor

@knowler knowler commented Jan 29, 2026

I did a very quick pass of the markup structure and made a few changes that immediately stood out:

Removes unnecssary aria-label for banner/contentinfo landmarks

Removed the label from the body-scoped <header> element. When scoped to the body and not the <main> element or other sectioning content (e.g. <article>, <header>, <footer>, <nav>, <aside>, <section>), a <header> element will implicitly have the role of banner which is a landmark role. According to the ARIA spec for the banner role:

The author SHOULD mark no more than one element on a page with the banner role.

Accessible names are typically used to disambiguate elements with the same role and since there is only one element with this role, then the label is unnecessary.

The same applies to the body-scoped <footer> element which has the contentinfo landmark role.

I should add that it is totally fine to use <header> and <footer> elements within the <main> element like you are.

Removes redundant “navigation” label from navigation landmarks

When assistive technology presents an element with the navigation landmark role (e.g. <nav> elements) it includes the role in the presentation. For example, a screen reader will read “navigation” or, for a labelled landmark, “Main navigation.” So, adding “navigation” to the label is redundant, since a screen reader would read “Main navigation navigation” (and include it that way in its rotor/landmark list).

@vercel
Copy link

vercel bot commented Jan 29, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
docs.npmx.dev Ready Ready Preview, Comment Jan 29, 2026 3:47pm
npmx.dev Ready Ready Preview, Comment Jan 29, 2026 3:47pm
1 Skipped Deployment
Project Deployment Review Updated (UTC)
npmx-lunaria Ignored Ignored Jan 29, 2026 3:47pm

Request Review

@github-actions
Copy link

github-actions bot commented Jan 29, 2026

Lunaria Status Overview

🌕 This pull request will trigger status changes.

Learn more

By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.

You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File Note
lunaria/files/de-DE.json Localization changed, will be marked as complete.
lunaria/files/en-US.json Source changed, localizations will be marked as outdated.
lunaria/files/ja-JP.json Localization changed, will be marked as complete.
Warnings reference
Icon Description
🔄️ The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

Copy link
Member

@danielroe danielroe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️

knowler and others added 3 commits January 29, 2026 09:45
- There should only be one of each of these per document.
- Any `<header>` or `<footer>` element that’s scoped to the `<main>`
	element or sectioning content element will not have the corresponding
	landmark role, so you don’t need to stop using them because they do
	not cause conflicts with the ones with the implicit landmark roles.
- Thus, the labels are completely unnecessary and not expected.
AT will already present the ARIA `role` “navigation” so including it in the label is redundant.
auto-merge was automatically disabled January 29, 2026 15:45

Head branch was pushed to by a user without write access

@knowler knowler force-pushed the unnecessary-landmark-labelling branch from 51dbdb5 to 94d40cd Compare January 29, 2026 15:45
@knowler
Copy link
Contributor Author

knowler commented Jan 29, 2026

@danielroe Oops, I didn’t realize syncing with the base branch would cancel that automerge.

@danielroe
Copy link
Member

no worries - just fyi, the merge queue will sync automatically and make sure tests pass when branch is up-to-date, so no need to sync unless there are conflicts

@danielroe danielroe added this pull request to the merge queue Jan 29, 2026
Merged via the queue into npmx-dev:main with commit ac387de Jan 29, 2026
13 checks passed
@knowler knowler deleted the unnecessary-landmark-labelling branch January 29, 2026 18:48
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 this pull request may close these issues.

2 participants