Eerste commit voor Helvoirt Gevelreiniging
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
from playwright.sync_api import sync_playwright
|
||||
import json
|
||||
with sync_playwright() as p:
|
||||
b = p.chromium.launch(headless=True)
|
||||
pg = b.new_context(viewport={"width":1440,"height":1000}).new_page()
|
||||
pg.goto("http://localhost:4321/", wait_until="networkidle", timeout=60000)
|
||||
try:
|
||||
pg.add_script_tag(url="https://cdnjs.cloudflare.com/ajax/libs/axe-core/4.10.2/axe.min.js")
|
||||
pg.wait_for_timeout(500)
|
||||
res = pg.evaluate("""async () => {
|
||||
const r = await axe.run(document, {runOnly:['wcag2a','wcag2aa','wcag21aa']});
|
||||
return r.violations.map(v=>({id:v.id, impact:v.impact, n:v.nodes.length,
|
||||
help:v.help, sample:(v.nodes[0]&&v.nodes[0].target)||[]}));
|
||||
}""")
|
||||
print("=== AXE VIOLATIONS ===")
|
||||
for v in res:
|
||||
print(f"[{v['impact']}] {v['id']} x{v['n']} :: {v['help']}")
|
||||
print(f" e.g. {v['sample']}")
|
||||
if not res: print("geen axe-violations")
|
||||
except Exception as e:
|
||||
print("AXE FAILED:", e)
|
||||
# heading outline
|
||||
heads = pg.eval_on_selector_all("h1,h2,h3,h4", "els=>els.map(e=>e.tagName+': '+e.textContent.trim().slice(0,42))")
|
||||
print("\n=== HEADINGS ==="); [print(h) for h in heads]
|
||||
# horizontale overflow
|
||||
for w in (1440, 768, 390):
|
||||
ctx = b.new_context(viewport={"width":w,"height":900})
|
||||
pp = ctx.new_page(); pp.goto("http://localhost:4321/", wait_until="networkidle", timeout=60000)
|
||||
sw = pp.evaluate("document.documentElement.scrollWidth"); cw = pp.evaluate("document.documentElement.clientWidth")
|
||||
print(f"\nviewport {w}: scrollWidth={sw} clientWidth={cw} overflow={'JA' if sw>cw+1 else 'nee'}")
|
||||
ctx.close()
|
||||
b.close()
|
||||
Reference in New Issue
Block a user