fix: Lighthouse Accessibility 88 → 100, robots.txt hinzufügen
- Farbkontrast: --color-text-secondary #8E8E93 → #6C6C70 (5.2:1, WCAG AA) - Farbkontrast Dark Mode: secondary → #AEAEB2 (4.6:1 auf #2C2C2E) - Farbkontrast: --color-btn-primary #007AFF → #0066DB (5.0:1 für Buttons) - Login-Seite: <main> als äußerstes Element für Landmark-Erkennung - robots.txt: gültige Datei für self-hosted private App (Disallow: /) - .gitignore: public/robots.txt explizit ausgenommen Lighthouse-Ergebnis: Performance: 98 Accessibility: 100 Best Practices: 92 SEO: 63* *SEO blockiert absichtlich (private self-hosted App, kein öffentlicher Zugang) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -32,3 +32,4 @@ dist/
|
||||
|
||||
# Textdateien mit Tokens/Keys (Sicherheitsnetz)
|
||||
*.txt
|
||||
!public/robots.txt
|
||||
|
||||
@@ -12,7 +12,7 @@ import { auth } from '/api.js';
|
||||
*/
|
||||
export async function render(container) {
|
||||
container.innerHTML = `
|
||||
<div class="login-page">
|
||||
<main class="login-page" id="main-content">
|
||||
<div class="login-card card card--padded">
|
||||
<h1 class="login-card__title">Oikos</h1>
|
||||
<p class="login-card__subtitle">Familienplaner</p>
|
||||
@@ -53,7 +53,7 @@ export async function render(container) {
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
`;
|
||||
|
||||
const form = container.querySelector('#login-form');
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# Oikos Familienplaner — self-hosted, private
|
||||
# Keine öffentlichen Inhalte zum Indexieren
|
||||
|
||||
User-agent: *
|
||||
Disallow: /
|
||||
@@ -231,12 +231,12 @@
|
||||
}
|
||||
|
||||
.btn--primary {
|
||||
background-color: var(--color-accent);
|
||||
background-color: var(--color-btn-primary);
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.btn--primary:hover {
|
||||
background-color: var(--color-accent-hover);
|
||||
background-color: var(--color-btn-primary-hover);
|
||||
}
|
||||
|
||||
.btn--secondary {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
--color-surface-2: #F0F0F5;
|
||||
--color-border: #E5E5EA;
|
||||
--color-text-primary: #1C1C1E;
|
||||
--color-text-secondary: #8E8E93;
|
||||
--color-text-secondary: #6C6C70; /* WCAG AA: ~5.2:1 auf weißem Hintergrund */
|
||||
--color-text-disabled: #C7C7CC;
|
||||
|
||||
/* --------------------------------------------------------
|
||||
@@ -22,6 +22,8 @@
|
||||
--color-accent: #007AFF;
|
||||
--color-accent-hover: #0056CC;
|
||||
--color-accent-light: #E3F2FF;
|
||||
--color-btn-primary: #0066DB; /* WCAG AA: ~5.0:1 auf weiß (Buttons mit weißem Text) */
|
||||
--color-btn-primary-hover: #0056CC;
|
||||
|
||||
/* --------------------------------------------------------
|
||||
* Farben — Semantisch
|
||||
@@ -133,7 +135,7 @@
|
||||
--color-surface-2: #3A3A3C;
|
||||
--color-border: #3A3A3C;
|
||||
--color-text-primary: #F5F5F7;
|
||||
--color-text-secondary: #8E8E93;
|
||||
--color-text-secondary: #AEAEB2; /* WCAG AA: ~4.6:1 auf #2C2C2E */
|
||||
--color-text-disabled: #48484A;
|
||||
|
||||
--color-accent-light: #1A3A5C;
|
||||
|
||||
Reference in New Issue
Block a user