White text on the blue buttons drops below 4.5:1 contrast on hover
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- tailwindcss, typescript
- Área
- accessibility, frontend
Línea de trabajo
Read the 17 hover:brightness-110 usages in src, including src/components/signup/header-buttons.ts; note that the PRIMARY stack is not on main yet. Compare the existing hover colours in the consent form and sign-in link, then apply the chosen treatment across the affected buttons and check that white text stays above 4.5:1 contrast. Done means no affected white-text bg-brand button uses hover:brightness-110 and the listed lint, typecheck, knip, and test commands pass.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Needs your OK: choosing the hover colour is a small design call. Swap pipeline:proposed for pipeline:ready to have it built.
What happens
- The hover style lightens the button. Most blue (
bg-brand) buttons usehover:brightness-110. That includes the signup header'sPRIMARYstyle (src/components/signup/header-buttons.tson the "Publish and share" stack): Publish and share, Share, and Reopen signup (#608). In all, 17 places insrcusehover:brightness-110. - The contrast drops below what normal-size text needs. At rest, white text on
#1f6febis 4.63:1, which passes WCAG 1.4.3's 4.5:1. Brightened by 10% to about#227aff, it's 3.97:1. These labels are 13–15px, so they need 4.5:1. - Axe doesn't catch it. It checks the colours at rest, not on hover.
- Found while reviewing #608.
Fix, in outline
- Darken on hover instead of lightening. Use
hover:bg-[#1658c4], the hover colour the OAuth consent button (src/app/oauth/consent/[uid]/consent-form.tsx) and the sign-in link (src/app/login/confirm/sign-in-link.tsx) already use. Better still, add it as abrand-hovercolour intailwind.config.tsand use that everywhere. - Leave the disabled style alone.
disabled:brightness-90onPRIMARYdarkens, so it's fine as it is. - Or drop the hover change on these buttons altogether. That's simpler, but gives no hover feedback.
Watch for
PRIMARYonly exists on the "Publish and share" stack (#571 → #581), not onmainyet. Build this after that stack lands, or changePRIMARYthere as well as the other 16 places.- The text never gets bigger on hover. These buttons stay "normal text" for WCAG, so 4.5:1 is the bar on hover too, not 3:1.
Choices this makes
Darkening on hover, with the colour the consent and sign-in buttons already use, rather than a new one.
Done when
- No
bg-brandbutton with white text useshover:brightness-110. - White on the hover colour is at least 4.5:1 (
#1658c4gives 6.51:1). pnpm lint && pnpm typecheck && pnpm knip && pnpm testpass.
- Lenguaje dominante
- TypeScript
- Estrellas
- 19
- Forks
- 4
- Merge medio
- 20 h 9 min
- PR fusionados (30 d)
- 156
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de richshaw/OpenSignup
-
enhancement pipeline:proposed pipeline:ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
richshaw/OpenSignup#654 ·
Los mantenedores suelen responder en 1 día
-
The help pages never say "pause", so organizers looking for it miss Close or reopen a signupAbiertoenhancement pipeline:proposed pipeline:ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
richshaw/OpenSignup#653 ·
Los mantenedores suelen responder en 1 día
-
enhancement pipeline:proposed pipeline:ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
richshaw/OpenSignup#652 ·
Los mantenedores suelen responder en 1 día
-
SMTP timeout notes in smtp.ts and the changelog describe nodemailer 10.0, not 10.1Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoenhancement good first issue pipeline:ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
richshaw/OpenSignup#645 ·
Los mantenedores suelen responder en 1 día
-
A signup page's first Tab skips the header and lands on the next tabPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug good first issue pipeline:ready pipeline:ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
richshaw/OpenSignup#644 ·
Los mantenedores suelen responder en 1 día
Todos los issues de richshaw/OpenSignup
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Merit-Systems/x402scan#1312 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Native Web
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
digitalfabrik/integreat-app#4517 ·
Los mantenedores suelen responder en 2 días
-
TLS guide repeats certs/ in the certificate directoryPosiblemente ocupada @maheshrijal la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
prometheus/docs#3156 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
medusajs/dtc-starter#90 ·
Los mantenedores suelen responder en 1 día