Référence de l'événement du service d'utilisation

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Informations sur les propriétés de la version 2 de l'événement du service d'utilisation

Not for use with personal data

Cet article contient des informations de référence sur :

  • Les données d'événement qui sont envoyées au service d'utilisation (version 2 de l'objet événement, EventV2)
  • Son objet applicationProperties contenu
  • L’objet testResults (contenu dans l’objet applicationProperties) lorsque AXE_INCLUDE_TEST_RESULTS est défini sur true

Événement de version 2

L'interface TypeScript suivante définit un événement de version 2 :

interface EventV2 {
  version: 'v2'
  productName: string
  productComponent: string
  productComponentVersion: string
  event: string
  dateTime: Date
  keycloakId?: string
  distinctId: string
  userId?: string
  organization?: string
  department?: string
  application?: string
  devInstance?: boolean
  sessionId?: string
  userStatus?: string
  loggedIn?: boolean
  applicationProperties?: Record<string, any>
  userJobRole?: string
  actor?: 'human' | 'automation'
  teams?: { id: string; name: string }[]
}
Nom Description
acteur Qu'il s'agisse d'une personne (human) ou d'un processus automatisé (automation) qui a exécuté le test. Défini par la CLI, les API Node.js et l'API Ruby. Voir acteur.
application L'application qui a créé cet événement
propriétésDeL'application propriétésDeL'application défini ci-dessous
dateTime Date et heure (au milliseconde) au format ISO-8601, fuseau horaire UTC
department Le département de l'utilisateur au sein de l'organisation
devInstance Si cette utilisation est considérée comme une instance de développeur et doit probablement être filtrée
distinctId Le uuid distinct de l'utilisateur
event Type d'événement sous forme de chaîne, généralement "analyze" ou "uri: analyze"
keycloakId Le ID Keycloak de l'utilisateur
loggedIn Si l'utilisateur est connecté
organization L'organisation de l'utilisateur
productComponent Défini par les API pour indiquer différentes intégrations telles que Playwright
productComponentVersion Une chaîne indiquant la version du composant produit
productName Défini par les API pour indiquer l'intégration que vous utilisez
sessionId Un uuid identifiant la session (pour permettre de regrouper les événements)
équipes Les équipes exécutant le test, sous la forme d'un tableau d'objets { id, name }. Défini par la CLI, les API Node.js et l'API Ruby. Voir équipes.
userId L'ID de l'utilisateur
userJobRole Le rôle de l'utilisateur
userStatus Le statut de l'utilisateur
version Une chaîne spécifiant la version de l'événement, toujours 'v2'

distinctId

La valeur distinctId est un uuid qui est défini par utilisateur chaque fois que les métriques sont enregistrées. Elle doit être stable dans le temps car elle est définie lors de la première exécution de l'interface CLI ou du code qui utilise les API. Elle est stockée dans le fichier .deque/distinct_id dans le répertoire personnel de chaque utilisateur.

acteur

La CLI, les API Node.js et l'API Ruby définissent actor sur automation lorsqu'une de ces variables d'environnement est définie à une valeur autre que false ou 0 : CI, BUILD_NUMBER, BUILDKITE, CIRCLECI, CODEBUILD_BUILD_ID, GITHUB_ACTIONS, GITLAB_CI, JENKINS_URL, TEAMCITY_VERSION, TF_BUILD, ou BITBUCKET_BUILD_NUMBER. Sinon, actor est human. Définissez la variable d'environnement AXE_ACTOR sur human ou automation pour remplacer la détection. Le paquet @axe-devtools/browser ne peut pas lire les variables d'environnement lorsqu'il s'exécute dans un navigateur, il rapporte donc human là-bas.

équipes

Le tableau teams enregistre les équipes dont les membres ont exécuté le test. La CLI, les API Node.js et l'API Ruby l'envoient toujours, sous la forme d'un tableau vide ([]) lorsqu'aucune équipe n'est définie. Vous fournissez les équipes vous-même, avec la variable d'environnement AXE_TEAMS, l'option --set-teams de la CLI, la méthode setTeams de votre API Node.js, ou la clause for_teams ou propriété de configuration teams de l'API Ruby. Chaque équipe est un objet avec les propriétés chaîne id et name :

[{ "id": "1", "name": "Web" }]

Les entrées sans chaîne de caractères id et name sont supprimées. Une valeur qui ne peut pas être lue ou qui n'est pas un tableau JSON est ignorée, et l'événement est néanmoins envoyé.

propriétésDeL'application

L'objet applicationProperties contient des informations sur le nombre de tests effectués, comme le montre l'exemple ci-dessous :

  applicationProperties: {
    advancedRules: { enabled: false, value: 'disabled', source: 'unavailable' },
    target: 'https://broken-workshop.dequelabs.com/',
    targetMedium: 'text/html',
    urlCount: 1,
    engineVersion: '4.14.0',
    failedRuleCount: 2,
    failedRuleNames: 'color-contrast,label',
    failedItemCount: 5,
    criticalIssueCount: 3,
    seriousIssueCount: 2,
    moderateIssueCount: 0,
    minorIssueCount: 0,
    needsReviewItemCount: 4,
    inapplicableRuleCount: 39,
    incompleteRuleCount: 2,
    passedRuleCount: 21,
    testResults: {}
  },
Propriété Description
règlesAvancées Si des règles avancées ont été exécutées. La CLI, les API Node.js et l'API Ruby n'exécutent jamais de règles avancées, donc c'est toujours { enabled: false, value: 'disabled', source: 'unavailable' }.
commande La commande CLI qui a exécuté l'analyse, comme spec ou bulk-spec. Envoyé uniquement par l'interface en ligne de commande.
nombreProblèmesCritiques Nombre d'éléments défaillants avec un impact critique
versionDuMoteur La version de axe-core utilisée pour les tests
nombreD'articlesÉchoués Nombre total d'erreurs d'accessibilité trouvées sur la page web
nombreDeRèglesÉchouées Nombre de règles qui ont échoué sur la page
nomsDesRèglesÉchouées Chaîne séparée par des virgules des noms des règles qui ont échoué
nombreDeRèglesInapplicables Nombre de règles qui n'ont pas été appliquées
nombreProblèmesMineurs Nombre d'éléments défaillants avec un impact mineur
nombreProblèmesModérés Nombre d'éléments défaillants avec un impact modéré
nombreÉlémentsBesoinRévision Nombre d'éléments nécessitant une révision
nombreDeRèglesIncomplètes Nombre de règles incomplètes
nombreDeRèglesRéussies Nombre de règles réussies
nombreProblèmesSérieux Nombre d'éléments défaillants avec un impact sérieux
cible URL testée
moyenCible Type MIME de la cible. Nommé target_medium avant la version 4.14.0.
résultatsDesTests L'objet testResults, voir la section suivante pour plus d'informations
nombreURLs Nombre d'URLs distinctes analysées. Une page de spécifications CLI dont les actions naviguent et analysent à nouveau, rapporte plus de 1.

résultatsDesTests

L'objet testResults est défini comme un objet axeResults (défini par axe-core). Il n'est défini que lorsque vous avez défini la variable d'environnement AXE_INCLUDE_TEST_RESULTS sur true, ce qui est pris en charge uniquement par la CLI et les API Node.js.

interface AxeResults extends EnvironmentData {
  toolOptions: RunOptions;
  passes: Result[];
  violations: Result[];
  incomplete: Result[];
  inapplicable: Result[];
}

L'exemple suivant montre un objet testResults :

{
  testEngine: {
    name: "axe-core",
    version: "4.4.1"
  },
  testRunner: {
    name: "axe"
  },
  testEnvironment: {
    userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML,like Gecko) Version/16.0 Safari/605.1.15",
    windowWidth: 1280,
    windowHeight: 720
  },
  timestamp: "2023-02-02T20:09:04.785Z",
  url: "https://broken-workshop.dequelabs.com/",
  toolOptions: {
    reporter: "v1"
  },
  inapplicable: [],
  passes: [],
  incomplete: [],
  violations: []
}

Pour plus de concision, les tableaux inapplicable, passes, incomplete et violations, qui contiennent normalement des objets Result, n'ont pas été inclus.

Vous pouvez voir les définitions TypeScript pour ces objets dans le dépôt GitHub axe-core.

Voir aussi

Pour des tutoriels démontrant comment utiliser le service d'utilisation, voir Premiers pas avec le service d'utilisation et les API et Premiers pas avec le service d'utilisation et l'interface CLI.

Pour des informations générales sur le service d'utilisation, voir Le service d'utilisation Axe DevTools pour le web.