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:
@@ -1,8 +1,9 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" data-theme="dark">
|
||||
<html lang="{{ request.state.lang }}" data-theme="dark">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="theme-color" content="#13171f">
|
||||
<title>{% block title %}GuardDog Nexus{% endblock %}</title>
|
||||
<link rel="stylesheet" href="/static/pico.min.css">
|
||||
<script src="/static/htmx.min.js"></script>
|
||||
@@ -10,11 +11,11 @@
|
||||
<script src="/static/app.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<main class="container">
|
||||
<a href="#main-content" style="position:absolute;left:-9999px;top:0;z-index:999;padding:0.5rem 1rem;background:#2a3140;color:#fff;">Skip to content</a>
|
||||
<main class="container" id="main-content">
|
||||
<nav class="sticky">
|
||||
<ul><li><strong><a href="/">{{ t('nav_dashboard', request.state.lang) }}</a></strong></li></ul>
|
||||
<ul>
|
||||
<li><a href="/">{{ t('nav_dashboard', request.state.lang) }}</a></li>
|
||||
<li><a href="/scans">{{ t('nav_scans', request.state.lang) }}</a></li>
|
||||
<li><a href="/packages">{{ t('nav_packages', request.state.lang) }}</a></li>
|
||||
<li style="margin-left: 1rem;">
|
||||
|
||||
Reference in New Issue
Block a user