Ich frage mich, ob es möglich ist, das standardmäßige blaue und gelbe Leuchten zu entfernen, wenn ich auf eine Texteingabe / Textbereich mit CSS klicke?
Antworten
Zu viele Anzeigen?Bearbeiten (11 Jahre später): Tun Sie dies nicht, es sei denn, Sie bieten einen Fallback an, um anzuzeigen, welches Element aktiv ist. Andernfalls schadet dies der Zugänglichkeit, da es im Wesentlichen die Anzeige beseitigt, die zeigt, welches Element in einem Dokument den Fokus hat. Stellen Sie sich vor, Sie sind ein Tastaturbenutzer und wissen nicht, mit welchem Element Sie interagieren können. Lassen Sie hier die Zugänglichkeit über die Ästhetik siegen.
textarea, select, input, button { outline: none; }
Es wurde jedoch argumentiert, dass die Beibehaltung des Glühens/der Umrandung für die Zugänglichkeit von Vorteil ist, da es den Nutzern helfen kann, zu erkennen, welches Element gerade fokussiert ist.
Sie können auch das Pseudo-Element ':focus' verwenden, um die Eingaben nur dann anzuvisieren, wenn der Benutzer sie ausgewählt hat.
Dieser Effekt kann auch bei Nicht-Eingabeelementen auftreten. Ich habe folgende Lösung gefunden, die allgemeiner ist
:focus {
outline-color: transparent;
outline-style: none;
}
Aktualisierung: Sie müssen nicht unbedingt die :focus
Selektor. Wenn Sie ein Element haben, sagen wir <div id="mydiv">stuff</div>
und Sie erhielten das äußere Leuchten auf diesem div-Element, wenden Sie einfach wie gewohnt an:
#mydiv {
outline-color: transparent;
outline-style: none;
}
Zur Größenänderung von Textareas in Webkit-basierten Browsern:
Die Einstellung von max-height und max-width für die Textarea entfernt nicht den visuellen Größenänderungsgriff. Versuchen Sie es:
resize: none;
(und ja, ich stimme der Aussage zu, dass man versuchen sollte, alles zu vermeiden, was die Erwartungen des Benutzers bricht, aber manchmal ist es sinnvoll, z. B. im Kontext einer Webanwendung)
So passen Sie das Aussehen von Webkit-Formularelementen von Grund auf an:
-webkit-appearance: none;
Dies ist die Lösung für Menschen, die sich um die Zugänglichkeit kümmern .
Bitte, verwenden Sie nicht outline:none;
zur Deaktivierung des Fokusumrisses. Sie zerstören die Zugänglichkeit des Webs, wenn Sie dies tun. Es gibt einen zugänglichen Weg, dies zu tun.
Auschecken dieser Artikel die ich geschrieben habe, um zu erklären, wie man den Rand auf zugängliche Weise entfernen kann.
Die Idee ist kurz gesagt, den Umrissrahmen nur dann anzuzeigen, wenn wir einen Tastaturbenutzer erkennen. Sobald ein Benutzer die Maus benutzt, schalten wir den Umriss aus. Als Ergebnis erhalten Sie das Beste von beidem.
- See previous answers
- Weitere Antworten anzeigen
6 Stimmen
@Steve, ein weiterer Grund, ihn zu deaktivieren, ist, wenn Sie möchten, dass der Glüheffekt in allen Browsern funktioniert, indem Sie :focus statt des schlecht unterstützten Outline-Stils verwenden.
94 Stimmen
Es ist wirklich ärgerlich, wenn Leute eine philosophische Diskussion darüber beginnen, ob etwas das "Richtige" ist, wenn die Frage eine technische ist.
2 Stimmen
Ich erstelle eine Online-Tabelle, Steve, daher wäre sie für meine Zwecke geeignet. Es kommt darauf an, aber wenn es sich nur um ein einfaches Formular handelt, sollten Sie die Gliederung so lassen, wie sie ist.
4 Stimmen
Ich denke, es ist völlig in Ordnung, es zu deaktivieren und einen benutzerdefinierten :focus-Effekt mit css zu machen...
0 Stimmen
Außerdem bedeutet das Wissen, wie man etwas deaktiviert, nicht, dass es unumkehrbar ist. Jeder, der für einen Kunden arbeitet, weiß, dass dieser vielleicht etwas auf eine bestimmte Art gerendert sehen möchte und dann wieder auf die ursprüngliche/standardmäßige Art zurückschaltet. Sie über Barrierefreiheit zu belehren, wird diesen Wunsch nicht ändern oder jemanden glücklich machen.
0 Stimmen
@tim Es ist so lustig, denn wenn man etwas so ausdrückt, dass es keine Zweideutigkeit gibt, hören die Leute im Grunde damit auf. Aber dann sagte der Auftraggeber "Ich frage mich, ob..." statt "Wie kann ich...".