Esempio di base utilizzando l'API Python axe-devtools
Not for use with personal data
Di seguito è riportato un esempio minimo di test della pagina utilizzando axe-devtools-api e axe-devtools-selenium.
Prerequisiti
- Python 3
- Associazione Selenium Webdriver (ad esempio Chromedriver o Geckodriver)
- Installa axe-devtools-api e axe-devtools-selenium tramite Agora o bundles
Codice
Questo apre una pagina con violazioni intenzionali di accessibilità in una finestra di Chrome, esegue axe, quindi effettua una stampa formattata dei risultati.
from pprint import pprint
from selenium import webdriver
from axe_devtools_selenium import AxeDriver
from axe_devtools_api import Axe
page = webdriver.Chrome()
page.get("https://dequeuniversity.com/demo/mars/")
axe = Axe(AxeDriver(page))
results = axe.analyze()
pprint(results.__dict__)
Questo fa la stessa cosa, tranne per il fatto che genera un'eccezione se ci sono violazioni a11y invece della stampa dei risultati
from pprint import pprint
from selenium import webdriver
from axe_devtools_selenium import AxeDriver
from axe_devtools_api import Axe
page = webdriver.Chrome()
page.get("https://dequeuniversity.com/demo/mars/")
axe = Axe(AxeDriver(page))
results = axe.analyze()
assert results.is_axe_clean(), results.violations_report()
Se si desidera apportare modifiche alla pagina prima della scansione, consultare la documentazione di Selenium o la documentazione dell'API.(https://selenium-python.readthedocs.io/) (https://www.selenium.dev/selenium/docs/api/py/api.html)
Se vuoi usare Firefox, allora cambia semplicemente webdriver.Chrome()
in webdriver.Firefox()
.