.sr-only
est un nom de classe spécifiquement utilisé pour les lecteurs d'écran. Vous pouvez utiliser n'importe quel nom de classe, mais .sr-only
est assez couramment utilisé. Si vous ne vous souciez pas de développer en tenant compte de la conformité, vous pouvez le supprimer. Sa suppression n'aura aucune incidence sur l'interface utilisateur, car le CSS de cette classe n'est pas visible pour les navigateurs des ordinateurs de bureau et des appareils mobiles.
Il semble qu'il manque des informations sur l'utilisation de la technologie de l'information. .sr-only
pour expliquer son but et son existence pour les lecteurs d'écran. Tout d'abord, il est très important de toujours garder à l'esprit les utilisateurs handicapés. La déficience est l'objectif de la conformité à la norme 508 : https://www.section508.gov/ et c'est formidable que bootstrap en tienne compte. Cependant, l'utilisation de .sr-only
n'est pas tout ce qui doit être pris en compte pour la conformité à la norme 508. Il y a l'utilisation des couleurs, la taille des polices, l'accessibilité par la navigation, les descripteurs, l'utilisation d'aria et bien d'autres choses encore.
Mais en ce qui concerne .sr-only
- Que fait réellement le CSS ? Il existe plusieurs variantes légèrement différentes de la CSS utilisée pour .sr-only
. L'une des rares que j'utilise est ci-dessous :
.sr-only {
position: absolute;
margin: -1px 0 0 -1px;
padding: 0;
display: block;
width: 1px;
height: 1px;
font-size: 1px;
line-height: 1px;
overflow: hidden;
clip: rect(0,0,0,0);
border: 0;
outline: 0;
}
Le CSS ci-dessus masque le contenu dans les navigateurs de bureau et mobiles enveloppés de cette classe, mais il est vu par un lecteur d'écran comme JAWS : http://www.freedomscientific.com/Products/Blindness/JAWS . L'exemple de balisage est le suivant :
<a href="#" target="_blank">
Click to Open Site
<span class="sr-only">This is an external link</span>
</a>
De plus, si un élément DOM a une largeur et une hauteur de 0, l'élément n'est pas vu par le DOM. C'est pourquoi le CSS ci-dessus utilise width: 1px; height: 1px;
. En utilisant display: none
et en mettant votre CSS à height: 0
y width: 0
l'élément n'est pas vu par le DOM et est donc problématique. Le CSS ci-dessus utilisant width: 1px; height: 1px;
n'est pas tout ce qu'il faut faire pour rendre le contenu invisible aux navigateurs de bureau et mobiles (sans overflow: hidden
votre contenu reste affiché à l'écran), et visible pour les lecteurs d'écran. Pour masquer le contenu aux navigateurs de bureau et mobiles, il faut ajouter un décalage de width: 1px
y height: 1px
mentionné précédemment en utilisant :
position: absolute;
margin: -1px 0 0 -1px;
overflow: hidden;
Enfin, pour avoir une très bonne idée de ce que voit un lecteur d'écran et de ce qu'il transmet à son utilisateur handicapé, désactivez le style de page de votre navigateur. Pour Firefox, vous pouvez le faire en allant dans :
View > Page Style > No Style
J'espère que les informations que j'ai fournies ici seront utiles à quelqu'un en plus des autres réponses.
0 votes
.sr-only
signifie "ce contenu n'est visible que pour les lecteurs d'écran". Si vous utilisez le site avec des yeux qui fonctionnent, vous n'êtes pas concerné. Essayez d'utiliser le site les yeux bandés, ce qui nécessite évidemment l'utilisation d'un certain type d'aides pour rendre la chose possible ; les.sr-only
est destiné à aider les utilisateurs malvoyants. C'est ce qu'on appelle l'accessibilité. Au sein de l'UE, elle n'est plus facultative, mais exigée par une directive.