Fassung 1.5.5: die Verwaltungsnavigation war am Schreibtisch unerreichbar
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:
1 parent
7c3c8671a7
commit
d1ac9d760b
4 files changed
+79
-12
No files matched your search
@@ -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();
|
||||
|
||||
Reference in new issue
Block a user