a11y: add h1 headings to all pages (Redesign Phase B)

Every page now has exactly one <h1> per spec §2.3.
Six pages use sr-only <h1>; notes uses visible <h1> in toolbar.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
ulsklyc
2026-03-26 12:30:29 +01:00
parent c796d3ad6f
commit 3e63a7086d
7 changed files with 7 additions and 1 deletions
+1
View File
@@ -83,6 +83,7 @@ export async function render(container, { user }) {
container.innerHTML = `
<div class="budget-page">
<h1 class="sr-only">Budget</h1>
<div class="budget-nav">
<button class="btn btn--icon" id="budget-prev" aria-label="Vorheriger Monat">
<i data-lucide="chevron-left"></i>
+1
View File
@@ -184,6 +184,7 @@ function renderToolbar() {
if (!bar) return;
bar.innerHTML = `
<h1 class="sr-only">Kalender</h1>
<div class="cal-toolbar__nav">
<button class="btn btn--icon" id="cal-prev" aria-label="Zurück">
<i data-lucide="chevron-left"></i>
+1
View File
@@ -43,6 +43,7 @@ export async function render(container, { user }) {
_container = container;
container.innerHTML = `
<div class="contacts-page">
<h1 class="sr-only">Kontakte</h1>
<div class="contacts-toolbar">
<div class="contacts-toolbar__search">
<i data-lucide="search" class="contacts-toolbar__search-icon"></i>
+1
View File
@@ -438,6 +438,7 @@ export async function render(container, { user }) {
container.innerHTML = `
<div class="dashboard">
<h1 class="sr-only">Übersicht</h1>
<div class="dashboard__grid">
${renderGreeting(user, stats)}
${renderWeatherWidget(weather)}
+1
View File
@@ -104,6 +104,7 @@ export async function render(container, { user }) {
_container = container;
container.innerHTML = `
<div class="meals-page">
<h1 class="sr-only">Essensplan</h1>
<div class="week-nav">
<button class="btn btn--icon" id="week-prev" aria-label="Vorherige Woche">
<i data-lucide="chevron-left"></i>
+1 -1
View File
@@ -47,7 +47,7 @@ export async function render(container, { user }) {
container.innerHTML = `
<div class="notes-page">
<div class="notes-toolbar">
<span class="notes-toolbar__title">Pinnwand</span>
<h1 class="notes-toolbar__title">Pinnwand</h1>
<button class="btn btn--primary" id="notes-add-btn">
<i data-lucide="plus" style="width:16px;height:16px;margin-right:4px;"></i>
Neue Notiz
+1
View File
@@ -553,6 +553,7 @@ export async function render(container, { user }) {
container.innerHTML = `
<div class="shopping-page">
<h1 class="sr-only">Einkaufslisten</h1>
<div class="list-tabs-bar" id="list-tabs-bar"></div>
<div id="list-content" style="flex:1;display:flex;flex-direction:column;overflow:hidden"></div>
<button class="page-fab" id="fab-new-item" aria-label="Artikel hinzufügen">