scss: add option to display icons in forms buttons (#74954) #205
|
@ -656,34 +656,40 @@ div.select2-search {
|
|||
}
|
||||
}
|
||||
|
||||
// Buttons with icons
|
||||
|
||||
.submit-button-with-icon {
|
||||
&::after {
|
||||
// Button with FontAwesome icon
|
||||
// $position: left || right
|
||||
// $character : UTF value
|
||||
@mixin button-with-icon($position: right, $character: '\f105') {
|
||||
&::before, &::after {
|
||||
font-family: FontAwesome;
|
||||
content: $submit-button-icon;
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
|
||||
@if ($position == left) {
|
||||
&::before {
|
||||
content: $character;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
}
|
||||
@if ($position == right) {
|
||||
&::after {
|
||||
content: $character;
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.previous-button-with-icon {
|
||||
&::before {
|
||||
font-family: FontAwesome;
|
||||
content: $previous-button-icon;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
.cancel-button-with-icon {
|
||||
&::before {
|
||||
font-family: FontAwesome;
|
||||
content: $cancel-button-icon;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@if $buttons-with-icons {
|
||||
.submit-button-with-icon {
|
||||
@include button-with-icon(right, $submit-button-icon);
|
||||
}
|
||||
|
||||
.previous-button-with-icon {
|
||||
@include button-with-icon(left, $previous-button-icon);
|
||||
}
|
||||
|
||||
.cancel-button-with-icon {
|
||||
@include button-with-icon(left, $cancel-button-icon);
|
||||
}
|
||||
|
||||
.quixote:not(#wf-actions) div.buttons {
|
||||
@each $btn in (submit, previous, cancel) {
|
||||
.#{$btn}-button button {
|
||||
|
|
Loading…
Reference in New Issue
Quel comportement de lecture sur ce contenu ? ajouter speak: never; ici ?
Cela semble en effet suffisant pour la non réproduction orale du contenu. Mais je laisse @tjund donner son avis.
La propriété CSS2
speak
n'a (il me semble) jamais été supporté par les lecteurs d'écrans ou les navigateurs.Le contenu d'un pseudo element est génralement être lu et il n'y a rien à faire pour l'empêcher, c'est pourquoi, pour l'ajout d'une icône "décorative" les préconisations vont vers l'utilisatiuon d'une balise dédiée avec un aria-hidden dessus
<span class="icon" aria-hidden="true"></span>
L'autre solution, plus simple pour nous dans ce cas, serait l'ajout d'un attr aria-label.
la valeur d'aria-label va remplacer son contenu pour les lecteurs d'écran et donc le problème de l'ajout d'un pseudo element ne se pose plus.
Je suis d'accord.
J'ai créé https://dev.entrouvert.org/issues/76293 côté wcs pour rajouter l'attribut.
Pour la forme : je ne trouve pas terrible d'envoyer dans le dépôt quelque chose qu'on sait être une régression en accessibilité.
Je suis d'accord.
Mais nous avons déjà 8 thèmes au moins qui ajoutent les pictos aux boutons à coup de pseudo éléments dans
_custom.scss
et à chaque demande d'une intégration par une collectivité on en rajoutera encore.Avec l'option introduite, même si elle ne règle le problème, on évitera les custom et pourra travailler à améliorer l'accessibilité.