fix(quick-260921-jt4): zwei Schaltflaechenreihen tragen role="toolbar" (D-03)
calculator-widget.tsx Speicherzeile und favorites-widget.tsx
Ansichtsumschalter waren schlichte <div> mit aria-label, das die Rolle
generic stillschweigend verwarf. role="toolbar" ergaenzt (geprueft
sauber; role="group"/"region" loesen useSemanticElements neu aus).
Taschenrechner: fest verdrahteter Text wandert in
calculator.memoryLabel; bei dieser Gelegenheit auch Anzeigefeld
(displayLabel) und Rueckschritt-Taste (backspaceLabel) in den Katalog
gezogen (D-05), da diese Datei ohnehin geaendert wird.
Favoriten: die bisherige Beschriftung ("Favoriten") war sachlich
falsch fuer einen Listen/Kachel-Umschalter — neuer, zutreffender
Schluessel favorites.viewModeLabel statt des wiederverwendeten
favorites.name.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TPPB4ApQxzSU1rwV2Ffj9J
This commit is contained in:
@@ -336,13 +336,15 @@ export function CalculatorWidget({ isEditMode }: WidgetProps) {
|
||||
{/* Display */}
|
||||
<output
|
||||
className="flex min-h-[2.5rem] items-end justify-end rounded bg-muted px-3 py-1 font-mono text-[clamp(14px,min(8cqw,10cqh),96px)] font-semibold text-foreground overflow-hidden"
|
||||
aria-label="Anzeige"
|
||||
aria-label={t('calculator.displayLabel')}
|
||||
>
|
||||
<span className="truncate">{display}</span>
|
||||
</output>
|
||||
|
||||
{/* Memory row */}
|
||||
<div className="flex gap-1" aria-label="Speicherfunktionen">
|
||||
{/* Memory row — role="toolbar" (D-03): ohne Rolle ist das <div> generic
|
||||
und die Vorlesehilfe verwirft aria-label stillschweigend. Geprueft
|
||||
sauber (role="group"/"region" loesen useSemanticElements neu aus). */}
|
||||
<div className="flex gap-1" role="toolbar" aria-label={t('calculator.memoryLabel')}>
|
||||
<button type="button" className={memBtn} onClick={memoryClear} disabled={memory === 0}>MC</button>
|
||||
<button type="button" className={memBtn} onClick={memoryRecall} disabled={memory === 0}>MR</button>
|
||||
<button type="button" className={memBtn} onClick={memoryAdd}>M+</button>
|
||||
@@ -356,7 +358,7 @@ export function CalculatorWidget({ isEditMode }: WidgetProps) {
|
||||
<CalcButton label="%" className={utilBtn} onClick={() => applyUnary('percent')} />
|
||||
<CalcButton label="CE" className={utilBtn} onClick={clearEntry} />
|
||||
<CalcButton label="C" className={utilBtn} onClick={clearAll} />
|
||||
<CalcButton label="⌫" ariaLabel="Rückschritt" className={utilBtn} onClick={backspace} />
|
||||
<CalcButton label="⌫" ariaLabel={t('calculator.backspaceLabel')} className={utilBtn} onClick={backspace} />
|
||||
|
||||
{/* Row 2: unary + divide */}
|
||||
<CalcButton label="1/x" className={utilBtn} onClick={() => applyUnary('reciprocal')} />
|
||||
|
||||
Reference in New Issue
Block a user