a11y: Web Interface Guidelines — 19 правок доступности и семантики

- base.html: lang динамический, meta theme-color, skip-link, убран дубль Dashboard
- Фильтры: labels на search/select, type=search, placeholder с …, autocomplete=off
- llm-retry: <span> → <button> во всех шаблонах (_llm_report, scan, package)
- sortable th: tabindex=0, role=button через JS + keyboard handler
- sort-icon: aria-hidden=true
- style.css: color-scheme:dark, prefers-reduced-motion, tabular-nums, touch-action
- app.js: clipboard fallback для не-HTTPS
This commit is contained in:
Marker689
2026-05-10 11:45:41 +03:00
parent 32dc179f25
commit dea9e0a6e4
11 changed files with 78 additions and 30 deletions

View File

@@ -1,5 +1,7 @@
/* GuardDog Nexus — Web UI styles */
html { color-scheme: dark; }
/* ------------------------------------------------------------------ */
/* Status / severity colours */
/* ------------------------------------------------------------------ */
@@ -35,10 +37,16 @@
/* ------------------------------------------------------------------ */
/* Tables */
/* ------------------------------------------------------------------ */
table { font-size: 0.9rem; }
table { font-size: 0.9rem; touch-action: manipulation; }
table.compact { font-size: 0.82rem; }
table.compact th,
table.compact td { padding: 0.35rem 0.5rem; }
table td:first-child { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) {
.spinner { animation: none; }
.status-scanning { animation: none; }
}
@media (max-width: 768px) {
table { display: block; overflow-x: auto; white-space: nowrap; }
@@ -182,9 +190,14 @@ table.compact td { padding: 0.35rem 0.5rem; }
font-size: 0.7rem;
opacity: 0.5;
cursor: pointer;
border: none;
border-bottom: 1px dashed;
background: none;
padding: 0;
color: inherit;
}
.llm-retry:hover { opacity: 0.8; }
.llm-retry:focus-visible { outline: 2px solid #2196f3; outline-offset: 2px; }
.llm-disclaimer {
margin-top: 0.6rem;