github / github/accessibility-scanner

Support configurable login form selectors for non-standard label names

Ouverte
#202 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
Langage dominant
TypeScript
Étoiles
369
Forks
40
Merge moyen
1 j 9 h
PR mergées (30 j)
10

Description

## Problem

The auth action finds login fields using `getByLabel(/user ?name/i)` and `getByLabel(/password/i)`. This misses common login forms:

- **Email-based login**: "Email", "E-Mail" don't match `/user ?name/i`
- **Non-English apps**: "Benutzername", "Mot de passe" don't match
- **No visible labels**: Forms using only `placeholder` attributes

When no match is found, the login form is not detected and the scanner proceeds unauthenticated.

## Suggested fix

1. **Fall back to input types** when label matching fails: `input[type="password"]` for the password field, and the closest preceding `input[type="text"]` or `input[type="email"]` for the username field.
2. **Make selectors configurable** via optional inputs like `username_selector` and `password_selector`, so users can specify their own labels, placeholders, or CSS selectors for non-standard forms.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par l’action d’authentification où getByLabel(/user ?name/i) et getByLabel(/password/i) localisent les champs de connexion, puis examinez comment les entrées facultatives sont définies. Prenez en charge les valeurs configurables username_selector et password_selector ainsi que les fallback proposés pour le type d’entrée, et vérifiez que les formulaires non standard ou dépourvus de libellé sont détectés et analysés avec authentification.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
accessibility, authentication
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
55/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.