Help:Lint errors/pwrap-bug-workaround/nl
Op de meeste wiki's lijkt het erop dat de grootste bron van deze linter waarschuwingen de nowrap of nowrap begin sjablonen zijn. De eenvoudigste oplossing die de overgrote meerderheid van deze linter-gevallen zal behandelen, is om een nieuwe regel toe te voegen voor de opening van de tag <span> in de sjablooncode.De hulptekst op deze pagina verwijst naar Tidy, dat niet langer wordt gebruikt op het Wikimedia-cluster. Het werd in juli 2018 vervangen door RemexHtml. |
De linter-categorie pwrap-bug-workaround is toegevoegd om redacteuren te helpen wikitext en sjablonen te verbeteren zodat hun pagina's correct worden weergegeven met een HTML5-gebaseerd hulpmiddel zoals RemexHTML (dat Tidy zal vervangen) en Parsoid.
Specifiek heeft dit te maken met een fout paragraph-wrapping in de PHP-parser.
Het beïnvloedt tags <span>, <sub>, <sup> die op dezelfde regel als een (html4) tag block voorkomen en ook een white-space:nowrap; CSS eigenschap hebben.
Voor alle scenario's die worden geïdentificeerd door deze categorie, raden we aan een regelovergang toe te voegen voor de tag span/sub/sup om ervoor te zorgen dat de pagina-opbouw wordt bewaard wanneer Tidy wordt vervangen door RemexHTML.
Toelichting
De volgende wikitekst:
<div><span style='white-space:nowrap'>
foo
</span>
</div>
genereert de volgende HTML in (PHP-parser + RemexHTML) en Parsoid:
<div><span style='white-space:nowrap'>
<p>foo</p>
</span>
</div>
maar genereert de volgende HTML in (PHP-parser + Tidy)
<div>
<p><span style='white-space:nowrap'>foo</span></p>
</div>
Let op hoe de p-tag de span-tag met Tidy omhult en hoe de span-tag de p-tag omhult met RemexHTML.
Normaal gesproken is dit geen probleem (behalve bij HTML5-uitvoerconformiteit, wat een aparte zaak is).
Wanneer de tag span echter de CSS-eigenschap white-space:nowrap heeft, kan de span-wrapper rond de tag p de opbouw van de HTML op slechte wijze veranderen wanneer de alinea veel inhoud heeft.
Het leidt tot een lange horizontale lijn zonder wrapping.
Dit lijkt bijvoorbeeld het geval te zijn met navigatie boxen.
Het oplossen van de onderliggende bug (T134469) is niet triviaal (en we zullen dit nog steeds overwegen). Er is echter een eenvoudige wikitext-oplossing voor deze bug, namelijk het introduceren van een regelovergang vóór de tag span, zodat deze niet op dezelfde regel staat als een block-tag zoals de div.
De aangepaste wikitext zou er dus zo uitzien:
<div>
<span style='white-space:nowrap'>
foo
</span>
</div>