Se :user-invalid
trata de una pseudoclase CSS que se propone en el borrador de trabajo de nivel 4 de Selectores CSS que selecciona un elemento de formulario en función de si el valor, tal como lo ingresó un usuario, es válido cuando se compara con lo que se especifica como un valor aceptado en el marcado HTML después de que el usuario final haya interactuado con el formulario más allá de esa entrada. De hecho, :user-invalid
se le ha llamado “La pseudoclase de interacción del usuario” porque es única en la identificación de una acción del usuario al seleccionar un elemento.
Tome el siguiente marcado HTML para un formulario básico con un campo numérico:
Cantidad:
El rango numérico establecido por el marcado HTML para la entrada está entre 1
y, 10
pero el valor predeterminado se ha establecido en 11
. Eso significa que el valor no es válido tan pronto como se carga el formulario.
Sin embargo, la :user-invalid
pseudoclase no entrará en vigencia hasta que el usuario haya interactuado realmente con el formulario más allá de ingresarlo en el campo. Esa interacción es la diferencia entre :user-invalid
y :invalid
. El mismo principio se aplica para formar valores introducidos por el que se establecen :in-range
, :out-of-range
y :required
.
Una vez que se determina que el valor que ha introducido el usuario es una entrada no válida, podemos seleccionar el elemento:
input:user-invalid ( color: red; )
La siguiente imagen ilustra los diferentes estados entre :valid
y se :user-invalid
basa en el ejemplo HTML anterior.
Lo confuso aquí es cómo estrechamente relacionados :invalid
y :user-invalid
son. Si se usan juntos, puede ser difícil distinguir los dos:
input:invalid ( color: red; ) input:user-invalid ( color: red; )
Usar uno sobre el otro o tener un estilo distinto entre los dos podría resultar una mejor experiencia de usuario en un caso de uso de la vida real.
Soporte del navegador
:user-invalid
Actualmente no se admite, pero se propone en el borrador de trabajo de CSS Selectors Level 4.
Firefox usa una propiedad no estándar con prefijo -moz-ui-invalid
que adopta estándares similares.
Relacionado
:invalid
:valid
Más información
- Especificación de nivel 4 de selectores CSS
- Especificación MDN para
:-moz-ui-invalid