Skip to content

Commit 51afe62

Browse files
authored
Fix accessibility command for Playwright 1.57+ (#185)
* Fix accessibility command for Playwright 1.57+ Playwright 1.57.0 removed `page.accessibility.snapshot()` after 3 years of deprecation. This updates the accessibility command to use the new `locator.aria_snapshot()` API instead. Note: The output format has changed due to the new API returning a different accessibility tree structure (using semantic landmark roles like banner, main, contentinfo, navigation). * -3.9, +3.14 * Enable accessibilty tests again Refs #186 (comment) --------- https://gistpreview.github.io/?f8ce6bdb7ee606c6eac20a9b1357c7e1/index.html
1 parent 94c5ab7 commit 51afe62

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

shot_scraper/cli.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -702,9 +702,10 @@ def accessibility(
702702
skip_or_fail(response, skip, fail)
703703
if javascript:
704704
_evaluate_js(page, javascript)
705-
snapshot = page.accessibility.snapshot()
705+
snapshot = page.locator("body").aria_snapshot()
706706
browser_obj.close()
707-
output.write(json.dumps(snapshot, indent=4))
707+
# aria_snapshot() returns YAML, parse it for JSON output
708+
output.write(json.dumps(yaml.safe_load(snapshot), indent=4))
708709
output.write("\n")
709710

710711

tests/run_examples.sh

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ shot-scraper 'https://www.owlsnearme.com/?place=127871' \
4545
-o examples/owlsnearme-wait.jpg \
4646
--wait-for "!!document.querySelector('section.secondary')"
4747
# Accessibility
48-
# #shot-scraper accessibility https://datasette.io/ \
49-
# > examples/datasette-accessibility.json
50-
# shot-scraper accessibility https://simonwillison.net \
51-
# --javascript "document.getElementById('wrapper').style.display='none'" \
52-
# > examples/simonwillison-accessibility-javascript.json
53-
# shot-scraper accessibility https://simonwillison.net \
54-
# --javascript "document.getElementById('wrapper').style.display='none'" \
55-
# --output examples/simonwillison-accessibility-javascript-and-dash-output.json
56-
# shot-scraper accessibility examples/local.html -o examples/local-accessibility.json
48+
shot-scraper accessibility https://datasette.io/ \
49+
> examples/datasette-accessibility.json
50+
shot-scraper accessibility https://simonwillison.net \
51+
--javascript "document.getElementById('wrapper').style.display='none'" \
52+
> examples/simonwillison-accessibility-javascript.json
53+
shot-scraper accessibility https://simonwillison.net \
54+
--javascript "document.getElementById('wrapper').style.display='none'" \
55+
--output examples/simonwillison-accessibility-javascript-and-dash-output.json
56+
shot-scraper accessibility examples/local.html -o examples/local-accessibility.json
5757
# PDF
5858
(cd examples && shot-scraper pdf https://datasette.io/tools)
5959
shot-scraper pdf https://datasette.io \

0 commit comments

Comments
 (0)