Path: blob/main/cypress/integration/accessibility.spec.js
3855 views
/// <reference types="cypress" />12const viewports = ['macbook-15', 'ipad-2', 'iphone-x']34function terminalLog (violations) {5cy.task(6'log',7`${violations.length} accessibility violation${8violations.length === 1 ? '' : 's'9} ${violations.length === 1 ? 'was' : 'were'} detected`10)1112const violationData = violations.map(13({ id, impact, description, nodes }) => ({14id,15impact,16description,17nodes: nodes.length18})19)20violations.forEach((violation) => {21cy.task('log', violation)22})2324cy.task('table', violationData)25}2627describe('Accessibility', () => {28it('has no detectable violations on load', () => {29viewports.forEach((viewport) => {30cy.viewport(viewport)31cy.visit('/course/ch-prerequisites')3233// Ensure the DOM is fully loaded34cy.get('[data-test=textbook-page]')3536cy.injectAxe()37cy.checkA11y(38null,39{40rules: {41'aria-input-field-name': { enabled: false }, // TODO: https://github.com/Qiskit/qiskit.org/issues/206442'aria-required-children': { enabled: false }, // TODO: https://github.com/Qiskit/qiskit.org/issues/206543'html-has-lang': { enabled: false }, // TODO: https://github.com/Qiskit/qiskit.org/issues/206644label: { enabled: false }, // TODO: https://github.com/Qiskit/qiskit.org/issues/206745'landmark-one-main': { enabled: false }, // TODO: https://github.com/Qiskit/qiskit.org/issues/206846'landmark-unique': { enabled: false }, // TODO: https://github.com/Qiskit/qiskit.org/issues/206947'link-name': { enabled: false }, // TODO: https://github.com/Qiskit/qiskit.org/issues/207048list: { enabled: false }, // TODO: https://github.com/Qiskit/qiskit.org/issues/207149'page-has-heading-one': { enabled: false }, // TODO: https://github.com/Qiskit/qiskit.org/issues/207250region: { enabled: false } // TODO: https://github.com/Qiskit/qiskit.org/issues/207351}52},53terminalLog, false)54})55})56})575859