Ersetzen Radio-Buttons ohne Radio Buttons austauschen - Sitepoint
Dies ist nur ein einsames Stück Text, der sagt „Zugänglichkeit?“ Tragische, wirklich. Um dies zu beginnen, auch wieder richtig funktioniert, müssen wir alle möglichen Sanierungs WAI-ARIA Semantik hinzuzufügen. In den unsterblichen Worten von Iron Maiden, „kann ich mit dem Wahnsinn spielen? “
Mehr von diesem Autor
Was ich getan habe, ist als CodePen Demo verfügbar. und zu folgen ist eine Erklärung der Technik.
Verwenden Sie, was bereits vorhanden ist
Was wissen wir über Radio-Buttons?
Eine Sache, die wir über Radio-Buttons wissen ist, dass sie entweder in einem aktiviert oder deaktiviert Zustand sein können. Nie ARIA dagegen, das ist nur HTML das Attribut checked.
geprüft Pseudo-Klasse in CSS: Zufällig, können wir den Überprüfungsstatus über das ausdrücken:
Weniger zufällig, gibt es nicht viele Eigenschaften, die wir in diesem Block platzieren können, die tatsächlich geehrt werden - schon gar nicht konsequent in allen Browsern. Radio-Buttons weigern sich hartnäckig unserem Willen zu biegen.
Die angrenzende Geschwister Kombinator
Ich liebe die benachbarten Geschwister combinator mit einer Leidenschaft, die ein Mann vielleicht nicht für CSS-Selektor Ausdrücke behalten sollte. Es erlaubt mir, Elemente stylen nach der Art der Elemente, die ihnen vorausgehen.
Dies ist eine starke Vorstellung in Bezug auf unsere Radio-Buttons, weil es uns ermöglicht, das Auftreten von Zustandsänderungen auf Elemente zu verschieben, die eigentlich leicht gestaltet werden können.
Wir wollen nicht wirklich den Beschriftungstext stylen, aber wir haben die notwendige Beziehung erstellt von der visuellen Feedback wegzubewegen . Der Radiobutton Styling wird, in der Tat, die aufgeschoben werden Element. bevor pseudo-Gehalt.
das Optionsfeld versteckt ist nur ein Fall von einer zugänglichen Versteck Technik wie das in HTML5 Boilerplate CSS gefunden beschäftigt:
Aber wenn es versteckt ist, wie kann es jemand klicken? Durch Verschachtelung des Optionsfeldes in einem
das Styling
Wie bereits erwähnt, werden wir mit Pseudo-Inhalt sein, unsere „Radiobutton“ zu schmieden. Auf diese Weise können wir das Styling des Beschriftungstextes separat behandeln.
Beachten Sie die Verwendung von Grenze und box-shadow die konzentrischen Ringe zu schaffen. Der geprüfte Stil wechselt anschließend den Radius Ausbreitung der Box Schatten und verfügt über eine grün auf / richtig / ausgewählt / positive Farbe; die Art, die in der Regel definiert ist irgendwo in Ihrem Sass Variablen.
Nie vergessen
Alles, was bleibt, ist ein Fokus-Stil zu übernehmen, so dass Tastaturbenutzer, welches Element ist in ihrer Kontrolle sehen. Ein Überblick über dünne punktierte auf die ausreichen würde, aber ich habe für einen Unicode-Pfeil zeigt auf die Steuerung über entschieden. nach. Dieses visuelle Feedback ist nachdrücklicher als Browser-Anbieter standardmäßig zur Verfügung stellen, um so die Erreichbarkeit des Fokuszustandes zu erhöhen.
Beachten Sie, dass Erweiterungen wie Cursor zu beschriften: Zeiger sind auf allen Browsern angewendet.
Schlussfolgerung
Dort haben Sie es, eine Lösung Funksteuerungen zu Theme-fähig, die eine ganze Menge davon verwendet ...
... und nichts davon: