@@ -80,9 +80,15 @@ const MESSUNG = `(() => {
8080
8181 const vorspann = document.querySelector(".vorspann, .lead, .anriss, .standfirst");
8282 const h1 = document.querySelector("h1");
83+ /* Der Vorspann soll so weit reichen wie der Rest der Seite. Gemessen wird
84+ gegen die Überschrift daneben: die ist ein Blockelement im selben Kasten
85+ und damit genau so breit wie der Inhaltsbereich — anders als der Kasten
86+ selbst, dessen Rahmenmass die Polsterung mitzählt. */
87+ const kasten = h1 ? h1.getBoundingClientRect() : null;
8388 const ausrichtung = vorspann && h1 ? {
8489 aus: getComputedStyle(vorspann).textAlign,
8590 versatz: Math.round(vorspann.getBoundingClientRect().left - h1.getBoundingClientRect().left),
91+ fehlbreite: Math.round(kasten.width - vorspann.getBoundingClientRect().width),
8692 } : null;
8793
8894 const sichtbar = (e) => e.offsetParent !== null && e.getBoundingClientRect().height > 0;
@@ -121,9 +127,11 @@ for (const seite of seiten) {
121127
122128 if ( ! hell . ausrichtung ) klage ( seite , "kein Vorspann oder keine Überschrift gefunden" ) ;
123129 else {
124- const { aus, versatz } = hell . ausrichtung ;
130+ const { aus, versatz, fehlbreite } = hell . ausrichtung ;
125131 if ( ! [ "start" , "left" ] . includes ( aus ) || Math . abs ( versatz ) > 1 )
126132 klage ( seite , `Vorspann nicht linksbündig (${ aus } , ${ versatz } px versetzt)` ) ;
133+ if ( fehlbreite > 2 )
134+ klage ( seite , `Vorspann ${ fehlbreite } px schmäler als die Seite — Breitenbremse noch drin` ) ;
127135 }
128136 for ( const k of hell . kontraste ) if ( k . wert < 4.5 ) klage ( seite , `Kontrast hell ${ k . wert } :1 bei ${ k . sel } ` ) ;
129137 if ( hell . knopf !== null && hell . knopf < 32 ) klage ( seite , `Knopf nur ${ hell . knopf } px hoch` ) ;
@@ -157,6 +165,7 @@ for (const seite of seiten) {
157165
158166 const kleinster = Math . min ( ...hell . kontraste . map ( ( k ) => k . wert ) , ...schmal . kontraste . map ( ( k ) => k . wert ) ) ;
159167 console . log ( `Querlauf ${ String ( schmal . ueberlauf ) . padStart ( 3 ) } px · ` +
168+ `Vorspann ${ String ( hell . ausrichtung ? hell . ausrichtung . fehlbreite : "?" ) . padStart ( 3 ) } px schmäler · ` +
160169 `Kontrast ab ${ kleinster . toFixed ( 2 ) } :1 · Knopf ${ String ( hell . knopf ?? "—" ) . padStart ( 3 ) } px · Bilder ${ bilder } ` ) ;
161170}
162171await browser . close ( ) ;
0 commit comments