chore(frontend): fixes del code review (a11y, seguridad, i18n, tests, deps)#31
Merged
Conversation
… deps) Accesibilidad: - lang="es" (la UI es española) y localización de títulos/labels que quedaban en inglés (KPIs, títulos de charts, nombres de serie, subtítulo). - MultiSelect: quita role=listbox erróneo, añade aria-haspopup/aria-controls y devuelve el foco al botón al cerrar (Escape). - Charts envueltos en role=img + aria-label descriptivo. - :focus-visible consistente en globals.css. Seguridad: - next.config.ts: cabeceras (CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy). Verificado que el CSP no rompe el render. Tests (30 -> 39): - Nuevos: FilterBar, ChartTooltip, fetchDashboard (éxito + error), y caso de Dashboard con filtros sin resultados. Dependencias: - Parches seguros: next 16.2.7, react/react-dom 19.2.7, eslint-config-next 16.2.7. - vitest 4 (cierra la única crítica, dev-only) NO entra: choca por peer-deps; queda como follow-up. Las 7 vulns de npm audit son todas de toolchain dev/build, ninguna en el bundle de producción. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resultado del code review integral del frontend. Una sola PR.
Accesibilidad
lang="es"(la UI es española) + localización de lo que quedaba en inglés: KPIs, títulos de charts, nombres de serie y subtítulo.role="listbox"erróneo (dentro había search + checkboxes), añadearia-haspopup/aria-controlsy devuelve el foco al botón al cerrar (Escape).role="img"+aria-labeldescriptivo.:focus-visibleconsistente englobals.css.Seguridad
next.config.ts: cabeceras — CSP,X-Content-Type-Options,X-Frame-Options,Referrer-Policy,Permissions-Policy. Verificado (captura del build de producción) que el CSP no rompe el render.dangerouslySetInnerHTML/eval;BACKEND_URLes server-side (no se expone al navegador).Tests (30 → 39)
FilterBar,ChartTooltip(single + multi-serie),fetchDashboard(éxito + error), yDashboardcon filtros sin resultados.Dependencias
npm auditson todas de toolchain dev/build, ninguna en el bundle de producción.Nota
Localicé strings visibles a español siguiendo
frontend/CLAUDE.md(UI en español). Si prefieres mantener algo en inglés, lo ajusto.Verificación
lint✅ ·test:run✅ (39) ·build✅ · cabeceras presentes ✅ · captura del dashboard OK (charts + español).🤖 Generated with Claude Code