Define validation states with aria-invalid

This commit is contained in:
Lucas 2020-10-27 12:25:53 +07:00
parent c49273df6c
commit d49c7ffcf2
10 changed files with 95 additions and 39 deletions

View file

@ -1035,6 +1035,27 @@ textarea[disabled] {
opacity: .66;
}
input[aria-invalid],
select[aria-invalid],
textarea[aria-invalid] {
padding-right: 2rem;
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
}
input[aria-invalid="false"],
select[aria-invalid="false"],
textarea[aria-invalid="false"] {
background-image: var(--icon-valid);
}
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
background-image: var(--icon-invalid);
}
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {

File diff suppressed because one or more lines are too long

View file

@ -977,7 +977,7 @@ a[role="button"].contrast:focus {
button.outline,
input[type="submit"].outline,
a.outline[role="button"] {
a[role="button"].outline {
border: var(--button-border-width) solid var(--primary-border);
background-color: transparent;
color: var(--primary);
@ -987,9 +987,9 @@ button.outline:hover, button.outline:active, button.outline:focus,
input[type="submit"].outline:hover,
input[type="submit"].outline:active,
input[type="submit"].outline:focus,
a.outline[role="button"]:hover,
a.outline[role="button"]:active,
a.outline[role="button"]:focus {
a[role="button"].outline:hover,
a[role="button"].outline:active,
a[role="button"].outline:focus {
border: var(--button-border-width) solid var(--primary-hover-border);
color: var(--primary-hover);
}
@ -1230,26 +1230,24 @@ textarea[disabled] {
opacity: .66;
}
input.valid, input.invalid,
select.valid,
select.invalid,
textarea.valid,
textarea.invalid {
input[aria-invalid],
select[aria-invalid],
textarea[aria-invalid] {
padding-right: 2rem;
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
}
input.valid,
select.valid,
textarea.valid {
input[aria-invalid="false"],
select[aria-invalid="false"],
textarea[aria-invalid="false"] {
background-image: var(--icon-valid);
}
input.invalid,
select.invalid,
textarea.invalid {
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
background-image: var(--icon-invalid);
}

View file

@ -1031,6 +1031,27 @@ textarea[disabled] {
opacity: .66;
}
input[aria-invalid],
select[aria-invalid],
textarea[aria-invalid] {
padding-right: 2rem;
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
}
input[aria-invalid="false"],
select[aria-invalid="false"],
textarea[aria-invalid="false"] {
background-image: var(--icon-valid);
}
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
background-image: var(--icon-invalid);
}
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {

File diff suppressed because one or more lines are too long

2
css/pico.min.css vendored

File diff suppressed because one or more lines are too long

View file

@ -1038,6 +1038,27 @@ textarea[disabled] {
opacity: .66;
}
input[aria-invalid],
select[aria-invalid],
textarea[aria-invalid] {
padding-right: 2rem;
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
}
input[aria-invalid="false"],
select[aria-invalid="false"],
textarea[aria-invalid="false"] {
background-image: var(--icon-valid);
}
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
background-image: var(--icon-invalid);
}
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {

File diff suppressed because one or more lines are too long