Frei wählbare Startseite; Standarddateien waren lokal unerreichbar

Eine Quelle entscheidet jetzt, welche Seite unter / antwortet:
SiteSettings::homePath() und publicPath(). Das Literal home kommt im
Anwendungscode nicht mehr vor - öffentliche Routen, Canonical,
Sitemap, llms.txt, Menüauflösung, Beitragslisten und der
Formularrücksprung benutzen dieselben zwei Methoden. Die gewählte
Seite muss veröffentlicht und nicht im Papierkorb sein, ihre eigene
Adresse leitet dauerhaft auf /, und als Wurzel ist sie gegen
Umbenennen und Papierkorb gesperrt.

Zweiter echter Fehler, den nur ein HTTP-Aufruf zeigt:
/sitemap.xml, /robots.txt, /llms.txt und /feed.xml waren lokal nie
erreichbar. Der eingebaute PHP-Server antwortet für fehlende Pfade
mit Dateiendung selbst mit 404, ohne den Frontcontroller zu fragen;
alle Kernel-Tests bestanden trotzdem, weil sie die Anwendung direkt
aufrufen. bin/dev-router.php bildet die Rewrite-Regel des Hostings
nach, Start- und CI-Befehl nutzen es, und die Browserprüfung ruft die
vier Adressen jetzt über HTTP auf.

Barrierefreiheitsbefunde werden nach Ursache getrennt: ein
Kontrastfehler aus Theme oder Stylesheet bleibt ein Defekt und bricht
den Lauf ab, einer aus einer im Editor gesetzten Blockfarbe wird bei
jedem Lauf mit Seite, Farbe und Verhältnis genannt und in
reports/browser.json geschrieben, färbt aber keinen Codewechsel rot.

Geprüft: 162 PHP-Tests / 636 Assertions unter PHP 8.2.12 und 8.4.22,
15 JavaScript-Modelltests, vollständiger Editortest mit axe, wieder
grüne öffentliche Browserprüfung und Lighthouse mit je drei Läufen
mobil und Desktop, alle fünf Kategorien 100.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
kantarciandClaude Opus 5 committed 2026-09-12 14:59:55 +02:00
1 parent 6afad30956
commit 33e4ac0c54
21 files changed
+266 -49

No files matched your search

+9
View File
@@ -1,5 +1,14 @@
# Qualitätsbericht – erster ausführbarer Prototyp
## Ergänzung: Startseite, erreichbare Standarddateien, getrennte Befunde, 12.09.2026
- **162 PHP-Tests / 636 Assertions** unter PHP 8.2.12 und PHP 8.4.22, **15 JavaScript-Modelltests**, der vollständige Playwright-Editortest und die **wieder grüne öffentliche Browserprüfung**.
- **Lighthouse 13.4.1: je drei Läufe mobil und Desktop, alle fünf Kategorien 100.**
- Startseite geprüft: eine andere veröffentlichte Seite wird zur Wurzel und antwortet unter `/`, ihre eigene Adresse leitet mit 301 dorthin, die bisherige Wurzel wird eine gewöhnliche Seite und ist wieder verschiebbar. Sitemap, strukturierte Daten und Menüauflösung folgen. Umbenennen und Papierkorb sind für die Wurzel gesperrt. Drei ungültige Angaben ändern nichts.
- **Ein weiterer echter Fehler, den nur ein HTTP-Aufruf zeigt:** `/sitemap.xml`, `/robots.txt`, `/llms.txt` und `/feed.xml` waren lokal **nie erreichbar**. Der eingebaute PHP-Server antwortet für fehlende Pfade mit Dateiendung selbst mit 404, ohne den Frontcontroller zu fragen – alle Kernel-Tests bestanden trotzdem, weil sie die Anwendung direkt aufrufen. `bin/dev-router.php` bildet die Rewrite-Regel nach, Start- und CI-Befehl nutzen es, und die Browserprüfung ruft die vier Adressen jetzt über HTTP auf und prüft den Inhaltstyp. Der Grund, warum es so lange unbemerkt blieb, war genau diese fehlende Prüfung.
- **Barrierefreiheitsbefunde werden nach Ursache getrennt.** Ein Kontrastfehler aus Theme oder Stylesheet bleibt ein Defekt und bricht den Lauf ab – so wurde die Linkfarbe gefunden, die jeden dunklen Abschnitt überschrieb. Ein Kontrastfehler an einem Element, das eine eigene Regel im erzeugten Seiten-Stylesheet hat, ist eine redaktionelle Feststellung: sie wird bei **jedem** Lauf mit Seite, Farbe und Verhältnis ausgegeben und in `reports/browser.json` geschrieben, macht aber einen Codewechsel nicht rot. Stillschweigend durchgelassen wird nichts.
- Aktuell offen und bei jedem Lauf gemeldet: `/grundlagen`, Textblock `#d08080` auf hellem Grund, 2,75:1 statt 4,5:1. Nicht verändert, weil es eine Nutzerentscheidung ist.
## Ergänzung: Seiten verwalten, 12.09.2026
- **160 PHP-Tests / 622 Assertions** unter PHP 8.2.12 und PHP 8.4.22, **15 JavaScript-Modelltests** und der vollständige Playwright-Editortest mit axe (null Verstöße).