fix(a11y,sec): remove tabIndex=-1 from interactive buttons, npm audit fix

H-3: tabIndex=-1 removed from login info, settings reset, settings info buttons
      + aria-label added to each for screen reader discoverability
SEC: npm audit fix - 18 non-breaking dependency updates (34 vulns -> 16 remaining)
     Remaining 16 require --force (breaking changes, deferred)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lotus Bot
2026-05-20 21:47:20 -04:00
parent 1f0686ddaf
commit 888e741f94
3 changed files with 850 additions and 554 deletions
+847 -551
View File
File diff suppressed because it is too large Load Diff
@@ -552,23 +552,23 @@ function DateHint({ hasChanges, handleReset }: DateHintProps) {
> >
{hasChanges ? ( {hasChanges ? (
<IconButton <IconButton
tabIndex={-1}
onClick={handleReset} onClick={handleReset}
type="reset" type="reset"
variant="Secondary" variant="Secondary"
size="300" size="300"
radii="300" radii="300"
aria-label="Reset to default"
> >
<Icon src={Icons.Cross} size="100" /> <Icon src={Icons.Cross} size="100" />
</IconButton> </IconButton>
) : ( ) : (
<IconButton <IconButton
tabIndex={-1}
onClick={handleOpenMenu} onClick={handleOpenMenu}
type="button" type="button"
variant="Secondary" variant="Secondary"
size="300" size="300"
radii="300" radii="300"
aria-label="Setting info"
aria-pressed={!!anchor} aria-pressed={!!anchor}
> >
<Icon style={{ opacity: config.opacity.P300 }} size="100" src={Icons.Info} /> <Icon style={{ opacity: config.opacity.P300 }} size="100" src={Icons.Info} />
@@ -92,12 +92,12 @@ function UsernameHint({ server }: { server: string }) {
} }
> >
<IconButton <IconButton
tabIndex={-1}
onClick={handleOpenMenu} onClick={handleOpenMenu}
type="button" type="button"
variant="Background" variant="Background"
size="300" size="300"
radii="300" radii="300"
aria-label="Username format hint"
aria-pressed={!!anchor} aria-pressed={!!anchor}
> >
<Icon style={{ opacity: config.opacity.P300 }} size="100" src={Icons.Info} /> <Icon style={{ opacity: config.opacity.P300 }} size="100" src={Icons.Info} />