fix(quick-260921-bi2): a11y - Beschriftungen an Felder binden (22 Fundstellen)
noLabelWithoutControl (22) auf 0: jede Beschriftung ueber htmlFor/id an ihr Feld gebunden, in Formularen mit wiederholten Zeilen ueber praefixierte, seitenweit eindeutige Kennungen (z.B. ldap-*, user-*, tenant-*). Sonderfall calendar-source-form.tsx: die Farbauswahl beschriftet eine ganze Gruppe von Farb-Schaltflaechen, kein einzelnes Feld. Dafuer fieldset/legend statt htmlFor/id (Rand/Abstand zurueckgesetzt, damit sich am Erscheinungsbild nichts aendert) -- eine Umwandlung in <span> haette die Assoziation entfernt statt sie herzustellen, darum nicht gewaehlt. Damit steht der gesamte Lint-Rueckstand bei 465 (386 echt, 79 Test), Fehlerstufe 0 -- Zielwert dieses Vorgangs erreicht. Die fuenf zurueck- gestellten Regeln (noNoninteractiveElementInteractions, useKeyWithClick- Events, noStaticElementInteractions, useAriaPropsSupportedByRole, noAutofocus) stehen unveraendert bei 11/5/5/5/4. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TPPB4ApQxzSU1rwV2Ffj9J
This commit is contained in:
@@ -324,9 +324,13 @@ export function CalendarSourceForm({
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Color */}
|
||||
<div>
|
||||
<label className="mb-1 block text-sm text-foreground">{t('calendar.formFieldColor')}</label>
|
||||
{/* Color -- a11y/noLabelWithoutControl: kein htmlFor/id, weil dieses
|
||||
Label eine ganze Gruppe von Farb-Schaltflaechen beschriftet, kein
|
||||
einzelnes Feld. fieldset/legend ist die dafuer vorgesehene Semantik
|
||||
(Rand/Abstand zurueckgesetzt, damit sich am Erscheinungsbild nichts
|
||||
aendert). */}
|
||||
<fieldset className="m-0 border-0 p-0">
|
||||
<legend className="mb-1 block text-sm text-foreground">{t('calendar.formFieldColor')}</legend>
|
||||
<div className="flex gap-2">
|
||||
{SOURCE_COLOR_PALETTE.map((c) => (
|
||||
<button
|
||||
@@ -343,7 +347,7 @@ export function CalendarSourceForm({
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{/* Actions */}
|
||||
<div className="flex flex-wrap gap-3 pt-2">
|
||||
|
||||
Reference in New Issue
Block a user