Files
rustyip/templates/error_alert.html
T
NetworkCats 991fd289a2 fix: improve accessibility to meet WCAG 2.2 AA/AAA standards
- Remove disruptive alert() on error pages, rely on role="alert" banner
- Add skip navigation link for keyboard users (WCAG 2.4.1)
- Fix heading hierarchy on error page (sr-only status text in h1)
- Add "opens in a new tab" screen reader hint on external links
- Wrap language selector in form with noscript submit button (WCAG 3.2.2)
- Add aria-label to copy-to-clipboard buttons and footer landmarks
- Use h2 for alt-IP section to maintain single h1 per page
- Add persistent underline on links for non-color identification (WCAG 1.4.1)
- Fix footer attribution contrast ratio to ~5.5:1 (WCAG 1.4.3)
- Add aria-busy/role=status loading announcements for skeleton state
- Add translations for new accessibility strings across all 14 locales
- Update integration tests to assert role="alert" instead of alert()
2026-03-22 18:21:29 +08:00

43 lines
1.1 KiB
HTML

{% extends "base.html" %}
{% block title %}{{ "Error"|t(locale) }} - {{ site_domain }}{% endblock %}
{% block head_meta %}
<meta name="robots" content="noindex, nofollow">
{% endblock %}
{% block head_preconnect %}
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
{% endblock %}
{% block head_stylesheets %}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.5.5/css/simple-line-icons.min.css">
{% endblock %}
{% block head_extra %}{% endblock %}
{% block content %}
{% let autofocus = true %}
{% include "_search_form.html" %}
<div class="error-banner" role="alert">
<p>{{ error_message }}</p>
</div>
{% endblock %}
{% block scripts %}
<script src="/static/script.js?v={{ js_version }}" defer></script>
{% endblock %}
{% block footer %}
<footer class="site-footer" aria-label="{{ "Site footer"|t(locale) }}">
<div class="footer-inner">
<div class="footer-left">
{% include "_footer.html" %}
</div>
<div class="footer-right">
{% include "_footer_lang.html" %}
</div>
</div>
</footer>
{% endblock %}