Heim > Web-Frontend > CSS-Tutorial > Wie kann ich die standardmäßige Browser-Fokushervorhebung von Eingabeelementen entfernen und gleichzeitig die Barrierefreiheit beibehalten?

Wie kann ich die standardmäßige Browser-Fokushervorhebung von Eingabeelementen entfernen und gleichzeitig die Barrierefreiheit beibehalten?

Susan Sarandon
Freigeben: 2024-12-21 12:46:17
Original
282 Leute haben es durchsucht

How Can I Remove the Default Browser Focus Highlight from Input Elements While Maintaining Accessibility?

Entfernen der Randhervorhebung bei Eingabetextelementen

Wenn ein Eingabeelement den Fokus erhält, fügen Browser wie Safari und Chrome einen blauen Rahmen darum hinzu . Dies kann optisch ablenken oder im Widerspruch zur gewünschten Designästhetik stehen.

Lösung:

Um die Randhervorhebung zu entfernen, verwenden Sie CSS, um die Eigenschaft „outline-width“ auf 0 zu setzen wenn das Eingabeelement fokussiert ist:

input.middle:focus {
    outline-width: 0;
}
Nach dem Login kopieren

Dadurch wird die Randhervorhebung speziell für Eingabeelemente mit der Mitte entfernt Klasse.

Überlegungen zur Barrierefreiheit:

Beachten Sie, dass der Fokusumriss eine wichtige Barrierefreiheitsfunktion ist, da er das aktuell fokussierte Element anzeigt. Das vollständige Entfernen kann die Zugänglichkeit für Benutzer beeinträchtigen, die auf diesen visuellen Hinweis angewiesen sind. Erwägen Sie stattdessen, die Eigenschaft „Umriss“ zu verwenden, um das Erscheinungsbild des Fokusumrisses anzupassen, indem Sie ihn beispielsweise transparent machen oder ihm eine andere Farbe verleihen.

Andere Elemente:

Derselbe Ansatz kann verwendet werden, um die Randhervorhebung bei anderen Formulareingabeelementen wie Auswahlen, Textbereichen und Schaltflächen zu entfernen:

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}
Nach dem Login kopieren

Erweitert Optionen:

Für Elemente mit dem contenteditable-Attribut, das im Grunde jedes Element ermöglicht, zu einem Texteditor zu werden, verwenden Sie dieses CSS:

[contenteditable="true"]:focus {
    outline: none;
}
Nach dem Login kopieren

Für alles deaktivieren:

Auf Wunsch können Sie hiermit die Fokuskontur für alle Elemente deaktivieren CSS:

*:focus {
    outline: none;
}
Nach dem Login kopieren

Dies wird jedoch im Allgemeinen nicht empfohlen, da es die Zugänglichkeit für Benutzer beeinträchtigen kann, die auf die Fokusgliederungsfunktion angewiesen sind.

Das obige ist der detaillierte Inhalt vonWie kann ich die standardmäßige Browser-Fokushervorhebung von Eingabeelementen entfernen und gleichzeitig die Barrierefreiheit beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage