Skip to content

fix(#185): MEDIUM: eight form controls have no programmatic label, including the event titl - #439

Merged
BeSovereign merged 1 commit into
mainfrom
fix/issue-185
Oct 16, 2026
Merged

BeSovereign merged 1 commit into
mainfrom
fix/issue-185

Conversation

@BeSovereign

Copy link
Copy Markdown
Contributor

Refs #185

Converted the five orphan caption labels (Arbeitstage, Wiederholen am x2, Ende der Wiederholung, Teilnehmende) in public/index.html to div captions that name their control containers via role="group" + aria-labelledby, so screen readers get group context and no is left without a control. Added Playwright tests asserting no control-less labels and role-based group names containing the right controls, and updated the #168 copy test to read the attendee caption by its new id.

Driver gates (measured, not claimed)

  • Suites: lint: 1 passed, 0 failed | node: 1785 passed, 0 failed | python: 109 passed, 0 failed | e2e: 92 passed, 0 failed
  • Red/green check on declared tests: e2e/calendar.spec.js, server/test/issue168_gendergerecht_german_copy.test.js
red/green output
RED without the change:
s row id=1813b482-73f7-42b9-832f-08bd930dd78b: Stored value is not an AES-256-GCM value of this app
[WebServer] [db] Skipping undecryptable linked_accounts row id=1813b482-73f7-42b9-832f-08bd930dd78b: Stored value is not an AES-256-GCM value of this app
[WebServer] [db] Skipping undecryptable linked_accounts row id=1813b482-73f7-42b9-832f-08bd930dd78b: Stored value is not an AES-256-GCM value of this app
[WebServer] [db] Skipping undecryptable linked_accounts row id=1813b482-73f7-42b9-832f-08bd930dd78b: Stored value is not an AES-256-GCM value of this app
[WebServer] [Webcal] Refresh failed for subscription d5e81037-ca83-4e38-9d70-aef82eb2e1a3: Feed is not valid iCalendar: END:VCALENDAR missing (wrong content or truncated response)
[WebServer] [MSGraph OAuth] authorization was not granted


GREEN with the change:
s row id=3f013077-5afd-4b38-b44e-e9eee60c7ab8: Stored value is not an AES-256-GCM value of this app
[WebServer] [db] Skipping undecryptable linked_accounts row id=3f013077-5afd-4b38-b44e-e9eee60c7ab8: Stored value is not an AES-256-GCM value of this app
[WebServer] [db] Skipping undecryptable linked_accounts row id=3f013077-5afd-4b38-b44e-e9eee60c7ab8: Stored value is not an AES-256-GCM value of this app
[WebServer] [db] Skipping undecryptable linked_accounts row id=3f013077-5afd-4b38-b44e-e9eee60c7ab8: Stored value is not an AES-256-GCM value of this app
[WebServer] [Webcal] Refresh failed for subscription 8466a54e-294d-4897-955b-53a43e51b498: Feed is not valid iCalendar: END:VCALENDAR missing (wrong content or truncated response)
[WebServer] [MSGraph OAuth] authorization was not granted

🤖 Generated with Claude Code

Converted the five orphan caption labels (Arbeitstage, Wiederholen am x2, Ende der Wiederholung, Teilnehmende) in public/index.html to div captions that name their control containers via role="group" + aria-labelledby, so screen readers get group context and no <label> is left without a control. Added Playwright tests asserting no control-less labels and role-based group names containing the right controls, and updated the #168 copy test to read the attendee caption by its new id.

Refs #185

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant