axe-devtools-api Python API-referentie
API-referentie voor het axe-devtools-api Python-pakket voor het injecteren en uitvoeren van axe-core
Biedt een API om axe-core te injecteren en uit te voeren op een webpagina.
axe_devtools_api.Axe
Configureert hoe axe-core wordt uitgevoerd en voert het uit op de pagina.
report = Axe(page).with_rules("document-title", "label").analyze()Axe(page, report_configuration=None, axe_source=None)
Initialiseer een Axe-instantie met een browseradapter en optionele configuratie.
page: Een browseradapter, zoals een AxeDriver-instantie van axe-devtools-selenium.
report_configuration: Optioneel. Een configuratieobject voor rapporten.
axe_source: Optioneel. Een string met axe-core broncode om te gebruiken in plaats van de meegeleverde versie.
analyze()
Injeteer axe-core in de pagina en voer de toegankelijkheidsanalyse uit.
Geeft een Results-object terug. Zie Rapporten genereren met Python voor de volledige Results-API en hoe rapportmetadata te configureren.
report = Axe(page).analyze()including(*selector)
Specificeer een deel van de pagina voor axe-core om te analyseren. Om verschillende niet-verwante delen van de pagina te analyseren, roep including() één keer voor elk deel aan, waarbij je elke keer één selectoren doorgeeft.
selector: Een enkele CSS-selector voor de elementen die moeten worden opgenomen. Meer dan één selectoren in één oproep doorgeven wordt altijd geïnterpreteerd als een iframe-selector in plaats van als afzonderlijke inclusies: elke selector behalve de laatste komt overeen met één niveau van iframe-nesting, en de laatste komt overeen met het element dat binnen het binnenste iframe moet worden geanalyseerd.
Retourneert dit object voor kettingaanroepen.
# Analyze .sidebar and .some-class, which are both in the top-level document
report = Axe(page).including(".sidebar").including(".some-class").analyze()
# Analyze .some-class inside the iframe matched by .sidebar-frame
report = Axe(page).including(".sidebar-frame", ".some-class").analyze()Om een element binnen een shadow root te bereiken, geef je een enkel fromShadowDom-woordenboek door in plaats van een CSS-selector. Elke selector in de lijst behalve de laatste komt overeen met een shadow host; de laatste komt overeen met het te analyseren element binnen de binnenste shadow root.
# Analyze #shadow-button inside the shadow root attached to #shadow-host
report = Axe(page).including({"fromShadowDom": ["#shadow-host", "#shadow-button"]}).analyze()Een fromFrames-woordenboek is het expliciete equivalent van de hierboven getoonde iframe-selector en is de aanbevolen vorm voor nieuwe tests.
# Analyze the form inside the #payment-frame iframe
report = Axe(page).including({"fromFrames": ["#payment-frame", "form"]}).analyze()De twee kunnen worden gecombineerd om een iframe te bereiken dat zich binnen een shadow root bevindt. Het fromShadowDom-woordenboek moet genest zijn binnen de fromFrames-lijst; het omgekeerde veroorzaakt een fout.
# Analyze the form inside the iframe matched by #shadow-frame, which is inside the
# shadow root attached to #shadow-host
report = Axe(page).including({
"fromFrames": [
{"fromShadowDom": ["#shadow-host", "#shadow-frame"]},
"form",
]
}).analyze()excluding(*selector)
Specificeer een deel van de pagina dat axe-core moet overslaan tijdens de analyse. Om verschillende niet-verwante delen van de pagina over te slaan, roep excluding() één keer voor elk deel aan, waarbij je elke keer één selectoren doorgeeft.
selector: Een enkele CSS-selector voor de elementen die moeten worden uitgesloten. Meer dan één selectoren in één oproep doorgeven wordt altijd geïnterpreteerd als een iframe-selector in plaats van als afzonderlijke uitsluitingen: elke selector behalve de laatste komt overeen met één niveau van iframe-nesting, en de laatste komt overeen met het element dat binnen het binnenste iframe moet worden overgeslagen.
Retourneert dit object voor kettingaanroepen.
# Skip .third-party-ad and .cookie-banner, which are both in the top-level document
report = Axe(page).excluding(".third-party-ad").excluding(".cookie-banner").analyze()
# Skip .third-party-ad inside the iframe matched by .iframe1
report = Axe(page).excluding(".iframe1", ".third-party-ad").analyze()Net als bij including() kan er een enkel fromShadowDom- of fromFrames-woordenboek worden doorgegeven in plaats van een CSS-selector, en de twee kunnen genest worden. Zie including() voor de volledige beschrijving van deze vormen.
# Skip #shadow-button inside the shadow root attached to #shadow-host
report = Axe(page).excluding({"fromShadowDom": ["#shadow-host", "#shadow-button"]}).analyze()
# Skip the form inside the #payment-frame iframe
report = Axe(page).excluding({"fromFrames": ["#payment-frame", "form"]}).analyze()with_rules(*rules)
Specificeer regels (per ID) voor axe-core om uit te voeren. Alleen de gespecificeerde regels worden gebruikt. Deze optie is niet compatibel met with_tags.
rules: Een of meer regel-ID's. Zie Regelbeschrijvingen voor een lijst met geldige ID's.
Retourneert dit object voor kettingaanroepen.
Verhoogt RuntimeError als het samen met with_tags op dezelfde instantie wordt aangeroepen.
report = Axe(page).with_rules("document-title", "label").analyze()with_tags(*tags)
Specificeer regels (per tag) voor axe-core om uit te voeren. Alleen de gespecificeerde regels worden gebruikt. Deze optie is niet compatibel met with_rules.
tags: Een of meer tagnamen. Zie axe-core tags voor een lijst met geldige tags.
Retourneert dit object voor kettingaanroepen.
Verhoogt RuntimeError als het samen met with_rules op dezelfde instantie wordt aangeroepen.
report = Axe(page).with_tags("best-practice", "wcag2a").analyze()disabling_rules(*rules)
Schakel specifieke regels uit bij het uitvoeren van axe-core.
rules: Een of meer regel-ID's.
Retourneert dit object voor kettingaanroepen.
report = Axe(page).disabling_rules("html-has-lang", "label").analyze()run_options(options)
Specificeer runOptions om door te geven aan axe-core bij het aanroepen van axe.run.
options: Optieobject om door te geven aan axe-core.
Retourneert dit object voor kettingaanroepen.
options = {"iframes": False}
report = Axe(page).run_options(options).analyze()configure(spec)
Configureer axe-core via axe.configure.
spec: Spec-object om door te geven aan axe.configure.
Retourneert dit object voor kettingaanroepen.
report = Axe(page).configure(spec).analyze()without_iframe_sandboxes()
Verwijder het sandbox-attribuut van iframes zodat axe-core erin kan draaien.
Retourneert dit object voor kettingaanroepen.
report = Axe(page).without_iframe_sandboxes().analyze()with_config_file(config_path)
Stel het pad in naar een configuratiebestandsregels. Het standaardpad is config/axe-ruleset.json, of de waarde van de $AXE_RULESET_PATH-omgevingsvariabele indien ingesteld.
config_path: Pad naar het configuratiebestand.
Retourneert dit object voor kettingaanroepen.
report = Axe(page).with_config_file("path/to/file.json").analyze()with_ruleset(ruleset_id, enable_best_practices=False)
Gebruik een specifieke regels voor de axe-core run.
ruleset_id: ID van de regels om te gebruiken. Beschikbare regelsets: wcag2, wcag2.1, wcag2.2, wcag2aaa, wcag2.1aaa, wcag2.2aaa, 508, en301549, ttv5, rgaav4.
enable_best_practices: Of regels met tag best-practice moeten worden ingeschakeld. Standaard is False.
Retourneert dit object voor kettingaanroepen.
report = Axe(page).with_ruleset("508").analyze()set_legacy_mode(state=True)
Gebruik axe.run in plaats van axe.runPartial. Heeft gevolgen voor cross-origin.
state: Of de oude modus moet worden ingeschakeld. Standaard is True.
Retourneert dit object voor kettingaanroepen.
report = Axe(page).set_legacy_mode().analyze()Gebruik Service
Krijg inzicht in de gebruikstrends van Axe DevTools binnen uw organisatie. Standaard is de gebruiksservice ingeschakeld en rapporteert naar https://usage.deque.com. Stel de omgevingsvariabele AXE_TRACK_USAGE in op false om deze uit te schakelen.
Omgevingsvariabelen voor gebruiksdienst
Deze omgevingsvariabelen laten u toe de gebruiksservice te configureren en de eigenschappen van gerapporteerde gebeurtenissen te wijzigen.
| Naam | Type | Kan Override | Beschrijving |
|---|---|---|---|
AXE_DISTINCT_ID |
String | — | Een UUID-identificator die hetzelfde blijft voor de ingelogde gebruiker (tenzij deze wordt opnieuw gegenereerd). In Ruby is deze variabele genoemd DEQUE_DISTINCT_ID. |
AXE_INCLUDE_TEST_RESULTS |
Boolean | — | Stel in op true om de volledige axe-core-resultaten op te nemen in het testResults-object van elk evenement (standaard is false). Wordt alleen ondersteund door de CLI en de Node.js API's. |
AXE_METRICS_URL |
String | — | De URL van het REST-gebruikendpunt (standaard is https://usage.deque.com) |
AXE_TRACK_USAGE |
Boolean | — | Stel in op false om rapportage van de gebruiksdienst uit te schakelen. Rapportage is standaard ingeschakeld. |
AXE_APPLICATION |
String | false | De applicatie die werd gebruikt om toegankelijkheidsfouten te controleren |
AXE_DEV_INSTANCE |
Boolean | true | Geeft aan of dit evenement afkomstig is van acties van een softwareontwikkelaar. Nuttig voor het markeren en later verwijderen van evenementen die tijdens ontwikkeling of testen zijn geregistreerd. |
AXE_DEPARTMENT |
String | true | De afdeling van de gebruiker binnen de organisatie |
AXE_KEYCLOAK_ID |
String | false | De Keycloak-ID van de gebruiker |
AXE_LOGGED_IN |
Boolean | false | Registreert of de gebruiker is ingelogd op de toepassing onder test |
AXE_ORGANIZATION |
String | true | De organisatie van de gebruiker. Om uw gebruik in Axe Reports weer te geven, stel dit in op de ID van uw organisatie (neem contact op met Deque om deze te verkrijgen). |
AXE_SESSION_ID |
String | false | Een UUID die de sessie van de gebruiker identificeert |
AXE_USER_ID |
String | false | De identiteit van een specifieke gebruiker, zoals een e-mailadres, naam of inlog-ID. Axe Reports telt unieke gebruikers op basis van deze waarde. |
AXE_USER_JOB_ROLE |
String | false | De functie van de gebruiker |
AXE_USER_STATUS |
String | false | Statusinformatie die u aan de gebruiker wilt koppelen |
enable_tracking(state)
Kies ervoor om wel of geen gegevens naar de gebruiksservice te sturen. Verzenden is standaard ingeschakeld.
state: Of tracking is ingeschakeld.
Retourneert dit object voor kettingaanroepen.
report = Axe(page).enable_tracking(True).analyze()set_tracking_url(url)
Stel in waar gebruiksmetriekgegevens naartoe worden verzonden.
url: URL waar gegevens naartoe worden gestuurd.
Retourneert dit object voor kettingaanroepen.
report = Axe(page).set_tracking_url("https://usage.deque.com").analyze()set_distinct_id(id)
Stel de unieke ID in die wordt gebruikt bij het verzenden van gebruiksstatistieken.
id: Unieke ID om te verzenden.
Retourneert dit object voor kettingaanroepen.
report = Axe(page).set_distinct_id("SOMEUUID").analyze()