Fassung 1.5.5: die Verwaltungsnavigation war am Schreibtisch unerreichbar
CMS quality / php (8.2) (push) Canceled after 0s
CMS quality / php (8.4) (push) Canceled after 0s
CMS quality / browser (push) Canceled after 0s
CMS quality / mysql (push) Canceled after 0s

In der ausgelieferten Fassung fehlte in der Verwaltung am Schreibtisch die
gesamte linke Navigation - Marke oben, Fusszeile unten, dazwischen nichts.

Die Navigation steckt in einem <details>: auf dem Telefon ein Klappmenue, am
Schreibtisch die stehende Spalte. Am Schreibtisch wurde der Schalter mit
display:none ausgeblendet - aber das Element trug kein open, und ein
geschlossenes details versteckt seinen Inhalt selbst. Schalter weg und Inhalt
weg.

Behoben mit ::details-content, das den Inhalt am Schreibtisch zurueckholt,
waehrend der Schalter ausgeblendet bleibt. Kennt ein Browser die Regel nicht,
faellt ueber @supports die ganze Gruppe weg: dann steht der Schalter da und die
Liste ist einen Klick entfernt statt gar nicht da.

Der Code dafuer lag bereits im Arbeitsverzeichnis - eine parallel laufende
Sitzung hatte ihn geschrieben, aber nicht committet, und damit war er in keinem
Release. Uebernommen ist hier nur diese Korrektur, nicht die uebrige Arbeit
jener Sitzung.

Wie das durchrutschen konnte: beim vorigen Bericht wurde die Navigation fuer in
Ordnung erklaert, nachdem eine Nachbildung der Regel in einer leeren Seite
geprueft worden war. Die Nachbildung enthielt die Korrektur, die ausgelieferte
Datei nicht - der Befund war wertlos. Jetzt prueft der Browsertest die echte
Verwaltungsseite, auf beiden Groessen. Gegenprobe gemacht: gegen die
ausgelieferte admin.css schlaegt er fehl.

Geprueft: npm run test:editor vollstaendig, npm test 28/28, phpunit 452/452.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
kantarciandClaude Opus 5 committed 2026-09-14 08:17:56 +02:00
1 parent 7c3c8671a7
commit d1ac9d760b
4 files changed
+79 -12

No files matched your search

+24
View File
@@ -64,6 +64,30 @@ try {
await page.getByRole('button', { name: 'Anmelden', exact: true }).click();
await page.waitForURL(origin + '/admin');
console.log('Authenticated in isolated test installation.');
// --- Die Verwaltungsnavigation ------------------------------------------------------------
// Sie steckt in einem details-Element: auf dem Telefon ein Klappmenue, am Schreibtisch die
// stehende Spalte. Am Schreibtisch ist der Schalter ausgeblendet - und ein geschlossenes
// details versteckt seinen Inhalt von sich aus. Ohne eine Regel, die ihn zurueckholt, ist die
// Navigation dort nicht bloss zugeklappt, sondern unerreichbar. Genau so ist 1.5.4 ausgeliefert
// worden, und genau das faellt hier auf.
const navigation = page.getByRole('navigation', { name: 'Verwaltung' });
const schalter = page.locator('.shell-menu > summary');
assert.equal(await schalter.isVisible(), false, 'am Schreibtisch gibt es keinen Menueschalter');
assert.equal(await navigation.isVisible(), true, 'am Schreibtisch steht die Navigation da');
const eintrag = navigation.getByRole('link', { name: 'Seiten', exact: true });
const flaeche = await eintrag.boundingBox();
assert.ok(flaeche && flaeche.height > 0 && flaeche.width > 0, 'ihre Eintraege sind anklickbar');
// Auf dem Telefon dagegen: ein Schalter, zunaechst zu, ein Klick oeffnet.
await page.setViewportSize({ width: 390, height: 844 });
assert.equal(await schalter.isVisible(), true, 'auf dem Telefon gibt es den Schalter');
assert.equal(await navigation.isVisible(), false, 'und die Liste ist zunaechst zu');
await schalter.click();
assert.equal(await navigation.isVisible(), true, 'ein Klick oeffnet sie');
await page.setViewportSize({ width: 1600, height: 1100 });
checks.push({ name: 'the administration navigation is reachable on both sizes', passed: true });
console.log('Administration navigation passed.');
await axe('page list');
await page.screenshot({ path: 'reports/editor/pages.png', fullPage: true });
await page.locator('a[href="/admin/pages/test-home"]').first().click();