Verificación y Validación Habiendo utilizado SonarLint en un proyecto de sistema docente, específicamente en el módulo de alumnos (AddAlumnoComponent.js), se identificaron los siguientes problemas.
Problema 1 Descripción: La etiqueta no tiene un atributo htmlFor que asocie el texto de la etiqueta con el control de entrada (). Esto significa que los lectores de pantalla y otras tecnologías de accesibilidad no podrán relacionar adecuadamente el texto de la etiqueta con el campo de entrada. Refactorización/Corrección: Añadir htmlFor en la etiqueta y asegurarse de que el id del coincida. Esto asegura que la etiqueta esté asociada correctamente con el campo de entrada.
Fragmento de código:
Problema 2
Descripción: El componente AddAlumnoComponent carece de validación para los tipos de datos en las propiedades, lo que puede llevar a errores en tiempo de ejecución. Refactorización/Corrección: Añadir validación de tipos utilizando PropTypes. Esto ayuda a asegurar que las propiedades se utilicen correctamente y evita errores. Fragmento de código:
import PropTypes from 'prop-types'; const AddAlumnoComponent = ({ cursoId }) => { // resto del código } AddAlumnoComponent.propTypes = { cursoId: PropTypes.string.isRequired, };
Problema 3 Descripción: La etiqueta para el campo de email no está asociada correctamente con el campo de entrada, lo que afecta la accesibilidad para personas que dependen de herramientas de asistencia. Refactorización/Solución: Para corregir este problema de accesibilidad, se debe añadir el atributo htmlFor en la etiqueta y asegurarse de que el campo tenga un id correspondiente. Fragmento de código:
REPORTE ESTÁTICO:
AddAlumnoComponent
Problema: Falta de asociación entre y . Descripción: Varios campos de entrada carecían de la asociación adecuada con sus etiquetas, afectando la accesibilidad. Corrección: Se añadió el atributo htmlFor en las etiquetas y el atributo id en los correspondientes para vincularlos correctamente.
Problema: Falta de validación de propiedades. Descripción: Las propiedades del componente no estaban siendo validadas. Corrección: Se añadió validación utilizando PropTypes para asegurar el tipo y la obligatoriedad de las propiedades. Campo "Email"
Problema: Falta de asociación entre y . Descripción: Similar a otros campos, la etiqueta no estaba asociada con el campo de entrada. Corrección: Se implementó el mismo cambio, añadiendo htmlFor y id.