Schakel zichtbaarheid in bij het verbergen van elementen - CSS-trucs

Anonim

Het ontwikkelingsteam van Medium heeft enkele slechte praktijken besproken die de toegankelijkheid verbreken. In één voorbeeld stellen ze dat opacitydit niet goed wordt ondersteund door schermlezers en dus als we een element in een overgang willen verbergen, moeten we ook altijd het visibilityattribuut gebruiken :

.m-fadeOut ( visibility: hidden; opacity: 0; transition: visibility 0s linear 300ms, opacity 300ms; ) .m-fadeIn ( visibility: visible; opacity: 1; transition: visibility 0s linear 0s, opacity 300ms; )

Onthoud dat ondoorzichtigheid en zichtbaarheid nog steeds een element in de documentstroom achterlaten. Als u het uit de stroom moet verwijderen, is er meer werk aan de winkel. In feite is hier een manier om over hen na te denken ...

kan dingen onzichtbaar maken kan dingen onklikbaar maken verwijdert uit documentstroom kan worden overgezet kan op kind worden teruggedraaid
ondoorzichtigheid ja Nee Nee Ja Nee
zichtbaarheid ja ja Nee Ja Ja
Scherm ja ja ja Nee Nee
pointer-evenementen Nee ja Nee Nee Nee

Als u de weergavewaarde van een element na een vervaging moet wijzigen, is dat moeilijker. Niet echt mogelijk in CSS omdat het displayniet kan worden overgezet. Snook heeft hierover geschreven, inclusief wat JavaScript om te helpen.