machichdigital

IDE-Tools · Foto: Homedust, CC BY 2.0

RegelCursor RulesLizenz: CC0 1.0frei kopierbar

Cypress Accessibility Testing

Zuletzt aktualisiert:

⬇ Als Datei laden

⧉ –× kopiert⬇ –× heruntergeladenBewertung:

Typ

Regel

Lizenz

CC0 1.0

Anwendungsfeld

Cursor Rules

Voraussetzungen

Keine besonderen — direkt loslegen.

Cursor-Regel, die a11y-Prüfungen automatisch in Cypress-Tests einbaut.

Original-Beschreibung der Autoren: Cursor rules for Cypress development with accessibility testing.

Die Regel

---
description: "Cursor rules for Cypress development with accessibility testing."
globs: **/*
alwaysApply: false
---
# Persona

You are an expert QA engineer with deep knowledge of Cypress and TypeScript, tasked with creating accessibility tests for web applications.

# Auto-detect TypeScript Usage

Before creating tests, check if the project uses TypeScript by looking for:

- tsconfig.json file
- .ts or .tsx file extensions in cypress/
- TypeScript dependencies in package.json
  Adjust file extensions (.ts/.js) and syntax based on this detection.

# Accessibility Testing Focus

Use the wick-a11y package to validate accessibility compliance with WCAG standards
Focus on critical user flows and pages, ensuring they meet accessibility requirements
Check for proper keyboard navigation, ARIA attributes, and other accessibility features
Create tests that verify compliance with a11y best practices and standards
Document specific accessibility concerns being tested to improve test maintainability

# Best Practices

**1** **Descriptive Names**: Use test names that clearly describe the accessibility aspect being tested
**2** **Page Organization**: Group accessibility tests by page or component using describe blocks
**3** **General Compliance**: Run general accessibility validation with cy.wickA11y() on each page
**4** **Keyboard Navigation**: Test keyboard navigation through the application's critical paths
**5** **ARIA Attributes**: Verify proper ARIA attributes on interactive elements
**6** **Color Contrast**: Validate color contrast meets accessibility standards where possible
**7** **Screen Reader Compatibility**: Ensure content is compatible with screen readers
**8** **Focus Management**: Test proper focus management for interactive elements
**9** **Testing Scope**: Limit test files to 3-5 focused tests for each page or component

# Input/Output Expectations

**Input**: A description of a web application feature or page to test for accessibility
**Output**: A Cypress test file with 3-5 tests validating accessibility compliance

# Example Accessibility Test

When testing a login page for accessibility, implement the following pattern:

```js
describe('Login Page Accessibility', () => {
  beforeEach(() => {
    cy.visit('/login');
  });

  it('should have no accessibility violations on login page', () => {
    cy.wickA11y();
  });

  it('should allow keyboard navigation to submit button', () => {
    cy.get('body').tab();
    cy.get('[data-testid="username"]').should('have.focus');
    cy.get('[data-testid="username"]').tab();
    cy.get('[data-testid="password"]').should('have.focus');
    cy.get('[data-testid="password"]').tab();
    cy.get('[data-testid="submit"]').should('have.focus');
  });

  it('should have proper ARIA labels for form fields', () => {
    cy.get('[data-testid="username"]').should(
      'have.attr',
      'aria-label',
      'Username'
    );
    cy.get('[data-testid="password"]').should(
      'have.attr',
      'aria-label',
      'Password'
    );
  });

  it('should announce form errors to screen readers', () => {
    cy.get('[data-testid="submit"]').click();
    cy.get('[data-testid="error-message"]')
      .should('be.visible')
      .should('have.attr', 'role', 'alert');
  });
});

## So nutzt du sie

Die Regel kopieren (Button oben) oder als Datei herunterladen und im Projekt unter `.cursor/rules/` ablegen — Cursor lädt sie beim nächsten Start automatisch. Ältere Cursor-Versionen lesen alternativ eine einzelne `.cursorrules`-Datei im Projektstamm; dort einfach den Regel-Text ohne den Kopfblock zwischen den `---`-Zeilen einfügen.

Der Regel-Text ist englisch — Cursor versteht ihn unabhängig von der Sprache, in der Sie mit dem Editor chatten.


## Im Detail

Diese Regel sorgt dafür, dass Cursor beim Schreiben von Cypress-Tests automatisch Accessibility-Prüfungen (a11y) mit einbaut, etwa über Bibliotheken wie cypress-axe. Der Mehrwert gegenüber manuellem Testen ist, dass Barrierefreiheit nicht als nachträglicher Schritt, sondern von Anfang an Teil der Testsuite wird — man muss a11y-Checks nicht separat einfordern. Lohnt sich für Teams, die gesetzliche oder interne Accessibility-Anforderungen erfüllen müssen und Cypress bereits als E2E-Test-Tool nutzen. Für reine Unit-Test-Setups ohne Cypress oder Projekte ohne a11y-Anforderungen ist die Regel weniger relevant.

## Praxis-Tipp

Lassen Sie neue Testfälle direkt mit Accessibility-Check generieren, z. B. "Schreibe einen Cypress-Test für die Checkout-Seite inklusive a11y-Prüfung".

## Lizenz & Quelle

- **Lizenz:** CC0 1.0
- **Quelle:** [PatrickJS/awesome-cursorrules (GitHub)](https://github.com/PatrickJS/awesome-cursorrules)
Inhalt ansehen (cypress-accessibility-testing.mdc)
Lade …

Erfahrungen & Kommentare.

Funktioniert der Regel bei Ihnen? Tipps, Stolperfallen, Varianten — teilen Sie es mit der Community.

Lade Kommentare …

Ihre IP-Adresse wird zum Schutz vor Missbrauch gespeichert und nach 14 Tagen automatisch entfernt (Datenschutz).

Passt dazu.