Frontend improvements: CSS foundations, accessibility, UX enhancements

CSS: Add design token variables (spacing, timing, weights, z-index layers),
migrate all hardcoded z-index to named vars, fix light theme contrast for
WCAG AA, add skeleton loading cards, mask-composite fallback, card padding.

Accessibility: aria-live on toast, aria-label on health dots, sr-only class,
graph container keyboard focusable, MQTT password wrapped in form element.

UX: Modal auto-focus on open, inline field validation with blur, undo toast
with countdown, bulk action progress indicator, API error toast on failure.

i18n: Add common.undo, validation.required, bulk.processing, api.error.*
keys in EN/RU/ZH.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-20 01:51:22 +03:00
parent 43fbc1eff5
commit 47c696bae3
21 changed files with 397 additions and 38 deletions

View File

@@ -7,7 +7,7 @@
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
z-index: 2000;
z-index: var(--z-modal);
align-items: center;
justify-content: center;
animation: fadeIn 0.2s ease-out;
@@ -16,7 +16,7 @@
/* Confirm dialog must stack above all other modals */
#confirm-modal {
z-index: 2500;
z-index: var(--z-confirm);
}
/* Audio test spectrum canvas */
@@ -393,7 +393,7 @@
.log-overlay {
position: fixed;
inset: 0;
z-index: 2100;
z-index: var(--z-log-overlay);
display: flex;
flex-direction: column;
background: var(--bg-color, #111);
@@ -1007,7 +1007,7 @@
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.92);
z-index: 10000;
z-index: var(--z-lightbox);
justify-content: center;
align-items: center;
cursor: zoom-out;