Fix: checkbox and radio aria-invalid #44

This commit is contained in:
Lucas Larroche 2021-10-25 09:30:01 +07:00
parent 55ec30e953
commit e329c85d28
10 changed files with 165 additions and 45 deletions

View file

@ -1090,9 +1090,9 @@ textarea[disabled] {
opacity: var(--form-element-disabled-opacity);
}
input[aria-invalid],
select[aria-invalid],
textarea[aria-invalid] {
input:not([type=checkbox]):not([type=radio])[aria-invalid],
select:not([type=checkbox]):not([type=radio])[aria-invalid],
textarea:not([type=checkbox]):not([type=radio])[aria-invalid] {
padding-right: calc( var(--form-element-spacing-horizontal) + 1.5rem ) !important;
padding-left: var(--form-element-spacing-horizontal);
-webkit-padding-end: calc( var(--form-element-spacing-horizontal) + 1.5rem ) !important;
@ -1103,11 +1103,20 @@ textarea[aria-invalid] {
background-repeat: no-repeat;
background-size: 1rem auto;
}
input:not([type=checkbox]):not([type=radio])[aria-invalid=false],
select:not([type=checkbox]):not([type=radio])[aria-invalid=false],
textarea:not([type=checkbox]):not([type=radio])[aria-invalid=false] {
background-image: var(--icon-valid);
}
input:not([type=checkbox]):not([type=radio])[aria-invalid=true],
select:not([type=checkbox]):not([type=radio])[aria-invalid=true],
textarea:not([type=checkbox]):not([type=radio])[aria-invalid=true] {
background-image: var(--icon-invalid);
}
input[aria-invalid=false],
select[aria-invalid=false],
textarea[aria-invalid=false] {
--border-color: var(--form-element-valid-border-color);
background-image: var(--icon-valid);
}
input[aria-invalid=false]:active, input[aria-invalid=false]:focus,
select[aria-invalid=false]:active,
@ -1122,7 +1131,6 @@ input[aria-invalid=true],
select[aria-invalid=true],
textarea[aria-invalid=true] {
--border-color: var(--form-element-invalid-border-color);
background-image: var(--icon-invalid);
}
input[aria-invalid=true]:active, input[aria-invalid=true]:focus,
select[aria-invalid=true]:active,
@ -1292,6 +1300,22 @@ label > input, label > select, label > textarea {
-webkit-margin-start: calc(1.125em - var(--border-width));
margin-inline-start: calc(1.125em - var(--border-width));
}
[type=checkbox][role=switch][aria-invalid=false] {
--border-color: var(--form-element-valid-border-color);
}
[type=checkbox][role=switch][aria-invalid=false]:active, [type=checkbox][role=switch][aria-invalid=false]:focus {
--border-color: var(
--form-element-valid-active-border-color
) !important;
}
[type=checkbox][role=switch][aria-invalid=true] {
--border-color: var(--form-element-invalid-border-color);
}
[type=checkbox][role=switch][aria-invalid=true]:active, [type=checkbox][role=switch][aria-invalid=true]:focus {
--border-color: var(
--form-element-invalid-active-border-color
) !important;
}
/**
* Form elements