Ich bin sicher, Sie kennen den alt-Text. Es ist das Attribut im Bild-Tag, das die wichtige Aufgabe hat zu beschreiben, wofür dieses Bild für jemanden gedacht ist, der es aus irgendeinem Grund nicht sehen kann. Bitte verwenden Sie sie.
Ich möchte die Botschaft „Bitte benutzen Sie sie“ nicht schmälern, aber in letzter Zeit sind mir ein paar interessante Dinge im Zusammenhang mit Alt-Texten aufgefallen, die damit zusammenhängen.
Wenn Sie nicht
Hidde de Vries schrieb kürzlich You don’t always need alternative text.
Aber wenn ein Symbol ein Wort daneben hat, zum Beispiel „Abmelden“, ist das Symbol selbst dekorativ und benötigt keinen Alternativtext.
<button type="button"><img src="close.svg" alt="" /> Close</button>In diesem Fall können wir das `alt`-Attribut leer lassen, da ein Screenreader sonst „Button – Schließen Schließen“ ansagen würde.
Ich würde denken, dass es in einer perfekten Welt ideal wäre, wenn das Symbol rein dekorativ ist und über CSS angewendet wird, aber der Punkt bleibt: Wenn Sie ein Bild verwenden müssen, schadet `alt`-Text mehr, als er nützt.
Können wir es umsonst bekommen?
Computer sind heutzutage ziemlich schlau. Vielleicht könnten sie sich unsere Bilder ansehen und Beschreibungen anbieten, ohne dass wir sie manuell eingeben müssen.
🔥 Ich glaube, ich habe maschinelles Lernen benutzt, um nett zu den Leuten zu sein! In diesem Proof of Concept erstelle ich dynamischen Alt-Text für Screenreader mit Azures Computer Vision API. 💫https://#/Y21AHbRT4Y pic.twitter.com/KDfPZ4Sue0
— Sarah Drasner (@sarah_edo) 13. November 2017
Sarahs Demo verwendet eine Computer Vision API, um dies zu tun.
Was ist mit figcaption?
Ich sage ungern, aber ich bin nicht besonders gut darin, Alt-Text-Beschreibungen für Bilder in Blogbeiträgen hier auf CSS-Tricks zu schreiben. Das ist ein Problem, das wir mit Prozessänderungen beheben müssen. Wir verwenden jedoch oft `<figcaption>`, um Text hinzuzufügen, der sich auf ein Bild bezieht. Die Art und Weise, wie dieser Text oft formuliert ist, fühlt sich für mich wie Alt-Text an. Er beschreibt, was im Bild vor sich geht.
Ich habe mich danach umgehört, und Zell Liew sagte mir, dass er dasselbe tut.
Ich habe tatsächlich die gleiche Frage. Die meisten meiner figcaptions werden verwendet, um das Bild zu beschreiben, damit die Leser verstehen, worum es im Bild geht.
In meinen Gedanken habe ich mir überlegt, dass es schlechter wäre, den genauen Text aus der figcaption in den Alt-Text zu kopieren, da jemand, der Alt-Text liest, dann im Grunde dieselbe Beschreibung zweimal lesen würde.
Ich habe auch mit Eric Bailey gesprochen, der eine interessante Idee hatte.
<figure> <img src="screenshot.png" alt="Screenshot of Chrome displaying a split view. On the left is a page full of image thumbnails comparing pre and post-optimization filesize. On the right is Chrome developer tools showing paint rasterize duration for the images. With a 6x CPU slowdown, the longest Paint Raster took 0.27ms, AKA 0.00027 seconds."> <figcaption aria-hidden="true"> With a 6x CPU slowdown, the longest Paint Raster took 0.27ms, AKA 0.00027 seconds. </figcaption> </figure>Das hier
- Bewahrt die Figurenanzeige
- Vermeidet das Leeren von `alt`, was für einige Screenreader problematisch sein kann.
- Hält die Beschreibung nahe am Inhalt und kommuniziert den Punkt an SR-Benutzer.
- Kommuniziert die wichtige Erkenntnis für visuelle Leser, ohne die Lektüre für SR-Benutzer zu duplizieren.
- Verwendet eine ARIA-Eigenschaft, die außerhalb von Formularen verwendet werden soll.
Ich möchte betonen, dass er dies nur als Idee betrachtete und es von der größeren Barrierefreiheits-Community nicht eingehend geprüft wurde. Wenn es welche von Ihnen gibt, die das lesen, was denken Sie?
Erics Demo verwendete einen ausführlicheren Alt-Text als die figcaption, aber es scheint, dass das Muster auch dann in Ordnung wäre, wenn sie identisch wären.
Kleine Erinnerung: Twitter hat Alt-Text
Aber Sie müssen die Funktion aktivieren.
Eine knifflige Sache ist, dass es keine festen Regeln für Barrierefreiheit gibt. Vieles ist eine Ermessensentscheidung. Die Spezifikation besagt: „Das Verfassen nützlicher Inhalte für das `alt`-Attribut erfordert vom Autor, dass er den Kontext, in dem das Bild erscheint, und die Funktion, die das Bild in diesem Kontext haben mag, sorgfältig prüft.“ (
https://www.w3.org/TR/html51/semantics-embedded-content.html#alt-text)Ich würde sagen, dass Ihr Beispiel wahrscheinlich eher dem Tortendiagramm-Beispiel auf dieser Seite entspricht. (
https://www.w3.org/TR/html51/semantics-embedded-content.html#graphical-representations-charts-diagrams-graphs-maps-illustrations) Der beste Weg, die Informationen, die Sie vermitteln möchten, darzustellen, wäre, den Text „Links ist eine Seite voller Miniaturbilder, die die Dateigrößen vor und nach der Optimierung vergleichen. Rechts sind Chrome-Entwicklertools, die die Dauer des Paint-Rasters für die Bilder anzeigen. Bei einer 6-fachen CPU-Verlangsamung dauerte das längste Paint-Raster 0,27 ms, auch bekannt als 0,00027 Sekunden.“ in einem Absatz zu platzieren und als `alt`-Attribut etwas wie „oben beschriebener Screenshot“ zu verwenden, wobei eine `figcaption` bei Bedarf zusätzliche Bedeutung liefert. (Vielleicht so etwas wie: „Dies repräsentiert eine Änderung von XXX gegenüber unserem letzten Experiment.“ Wiederum ist der Kontext alles.)Mein Grund dafür ist, dass die Informationen, die Sie im Alt-Text platzieren, für alle Leser nützlich sind (wenn auch vielleicht etwas redundant für Menschen mit perfekter Sehkraft) und wichtige Informationen für diejenigen verbergen, die nur eingeschränkt sehen können, aber keinen Screenreader verwenden. (Zum Beispiel jemand mit Glaukom oder Makuladegeneration.)
Leider ist die Option für terriersT-Alt-Texte in ihrer PWA nicht verfügbar.
Es gibt eine ziemlich nette Entscheidungsfindung, die den Leuten hilft zu entscheiden, ob sie Alt-Text verwenden sollen und was sie darin beschreiben sollen. https://www.w3.org/WAI/tutorials/images/decision-tree/
Außerdem vielen Dank für das Teilen des ML-gestützten Alt-Text-Generators. Wir bohren einen Tunnel von beiden Enden: (1) Menschen erziehen, maschinenlesbaren Code zu schreiben (2) Maschine verbessern, um Code auf menschliche Weise zu verstehen.
Ich sehe viel Hoffnung in (2). Stellen Sie sich einen Screenreader vor, der nicht einmal auf das DOM zugreifen muss!
Ich bin mir nicht sicher, warum die `<figcaption>`-Lösung den wiederholten Text und `aria-hidden` verwenden muss. Warum nicht das (was ich auf meinem Blog mache)?
In VoiceOver wird es gelesen als
Screenshot von Chrome, das eine geteilte Ansicht anzeigt. Links ist eine Seite voller Miniaturbilder, die die Dateigrößen vor und nach der Optimierung vergleichen. Rechts sind Chrome-Entwicklertools, die die Dauer des Paint-Rasters für die Bilder anzeigen., BildBei einer 6-fachen CPU-Verlangsamung dauerte das längste Paint-Raster 0,27 ms, auch bekannt als 0,00027 Sekunden.Es hängt natürlich vom Bild ab, aber ich finde, es ist normalerweise leicht, die Grenze zwischen „das Bild selbst beschreiben“ und „zusätzlichen Kontext für das Bild liefern“ zu ziehen.
Habe ich etwas verpasst? Wann hat sich Alt-Text vom Inhalt jeglichen Textes, der grafisch durch Pixel im Bild dargestellt wird, zur Beschreibung gewandelt? Ich dachte, dafür sei der Titel da? O.o
Anscheinend sind Sie nicht der Einzige, der sich gefragt hat, wozu der Titel dient.
https://silktide.com/i-thought-title-text-improved-accessibility-i-was-wrong/
Er hat sich nie geändert. Alt-Text war schon immer eine Möglichkeit, den Inhalt eines Bildes zu beschreiben, im Kontext dessen, was daran wichtig ist und sich auf das Dokument bezieht, in dem es verwendet wurde. Eine Möglichkeit, dies zu tun, ist sicherzustellen, dass jeglicher Text im Bild im Wert des `alt`-Attributs angegeben wird. Sie liegen also nicht falsch, aber es steckt mehr dahinter, als Sie dachten :)
Das Titel-Attribut ist nicht gut für die Barrierefreiheit.
Grundsätzlich sollte Text verwendet werden, um dieselbe Bedeutung wie das Bild zu vermitteln, und `figcaption` für zusätzliche Details. Wenn dieser Text dann keinen Sinn ergibt (z. B. Duplikation von Text neben einem Bild als Beschriftung), fragen Sie sich: „Sollte dieses Bild wirklich im HTML sein?“ Die Antwort ist wahrscheinlich „Nein“.
Es ist hauptsächlich für Screenreader. Verwenden Sie immer beschreibenden Alt-Text, wo Sie denken, dass es die Barrierefreiheit verbessert.
Titel ist keine Barrierefreiheitsfunktion. Alt-Text sollte Text als Pixel enthalten, wenn das das Bild ist, aber ansonsten die Funktion (E-Mail vs. Umschlag für ein Symbol) oder Form (eine kurze Beschreibung, die im Kontext des Bildes Sinn ergibt) des Bildes beschreiben.
Etwas, das mir schon immer komisch aufgestoßen ist, ist die Beschreibung des visuellen Erscheinungsbilds eines Bildes durch Alt-Text. Zum Beispiel Alt-Texte wie „ein schöner Sonnenuntergang“ oder „ein hellrotes Auto in der Nähe eines dunkelblauen Hauses“. Dies mögen keine guten Beispiele sein, aber die zugrundeliegende Idee ist, dass diese Beschreibung für jemanden, der blind ist, wenig nützliche Informationen bietet und sogar unsensibel sein kann (unabsichtlich, natürlich).
Das Anwenden von `aria-hidden` auf `figcaption` ist ein Problem für Benutzer mit geringem Sehvermögen, die einen Screenreader zur Kompensation verwenden. Sie könnten frustriert sein, wenn sie ihren Reader nicht dazu bringen können, Text zu lesen, von dem sie wissen, dass er auf der Seite ist. Sie müssen auch den NVDA-Maus-Hover-Modus (Standard) und die iOS VoiceOver-Umgebungsmodi zum Browsen der Seite berücksichtigen. Es ist auf der Seite, also lassen Sie sie es hören. Versuchen Sie, Dinge so eins-zu-eins wie möglich zu machen und denken Sie nicht, dass Dinge nur im sichtbaren Bereich existieren vs. im nicht-sichtbaren Bereich.
`aria-hidden` (und `.sr-only`) sollten sparsam verwendet werden.
Ich benutze einen sehr nützlichen, aber auch etwas schrägen Nachrichten-Reader, der „Mehr lesen“-Texte gut extrahiert, aber Bilder schlecht. Das Ergebnis ist, dass ich wahrscheinlich viel mehr Alt-Text sehe als der durchschnittliche sehende Browser-Benutzer.
Ein Trend, den ich vor etwa einem Jahr auf Nachrichten- und anderen großen Content-Websites zu bemerken begann, ist Alt-Text, der Erzähltext anstelle einer expliziten Beschreibung des Bildes verwendet. Das Ergebnis ist etwas mehr wie das, was Eric Minto oben beschreibt, wo der Alt-Text eher wie ein Callout als eine Bildunterschrift klingt.
(Alt-Text, der nur die Bildunterschrift dupliziert, ist einfach ermüdend.)
Dies funktioniert hervorragend für Inhalte, aber ich habe begonnen, es in Benutzeroberflächenelementen zu verwenden, wo es sinnvoll ist. Zum Beispiel „Zurück zur [Website-Name] Startseite“ als Alt-Text für Logos anstelle davon, es leer zu lassen oder etwas wie „[Website-Name] Logo“ zu sagen. Die Beschreibung des Logos ist „authentischer“ beschreibend, aber auch uninformativ.
Ich denke, Evan (@VamptVo) hat völlig Recht. Wiederholter Text in ALT und Figcaption ist definitiv nicht meine Empfehlung, da er für SR-Benutzer langweilig sein kann. Das Wichtigste ist, den Unterschied zwischen einem Text, der ein Bild beschreibt, und einem Text, der zusätzliche Informationen hinzufügt, zu erkennen. Andererseits kann `aria-hidden` für Designzwecke nützlich sein.
Also am Ende hängt es meiner Meinung nach zuerst vom Bild ab und von der Idee, SR-Benutzern und Bildschirmbenutzern die gleiche detaillierte Information zu geben. Bei dem von Evan gegebenen Beispiel ist dies genau das Problem, denn wenn Sie keinen kleinen Satz unter dem Bild sehen möchten, aber beiden Benutzertypen die gleiche Information geben möchten … müssen Sie sicher sein, dass die ausgeblendeten `figcaption`-Daten woanders auf der Seite platziert werden.
Wenn sich Alt- und Figcaption-Texte gleichen, müssen Sie sich nicht wiederholen. Sie können der `figcaption` eine ID geben und sie über `aria-labelledby` referenzieren.
Ich benutze `alt` ausschließlich zur Beschreibung des Bildes für sehbehinderte Menschen und `figcaption` zur Ergänzung des Bildes mit einem Kommentar. Ich versuche, es nicht zur Beschreibung des Bildes selbst zu verwenden. Zum Beispiel würde ich in einem Foto einer Wasserrutsche das Aussehen und die Farben der Wasserrutsche im `alt`-Text beschreiben, während die `figcaption` vielleicht so etwas wie „Sieht nach viel Spaß aus!“ wäre.
Dies würde natürlich davon abhängen, wie ich den Text um das Bild herum geschrieben habe. Manchmal ist diese `figcaption` vielleicht gar nicht nötig. Dennoch würde ich bei dieser Implementierung kein `aria-hidden` verwenden, ähnlich wie Evan in einem früheren Kommentar sagte.
Zusätzlich zur Gewährleistung der Zugänglichkeit Ihrer Website für alle Benutzer, was wichtig ist, um den Wert Ihres Traffics zu maximieren, können Alt-Tags für Bilder auch einen positiven SEO-Effekt haben. Insbesondere mit der Einführung von Googles „Bild anzeigen“-Entfernung kann das richtige Taggen Ihrer Bilder für die Suche (d. h. die Verwendung Ihrer Hauptschlüsselwörter zusätzlich zur Beschreibung, worum es in den Bildern geht, in Ihren Alt-Tags) große Auswirkungen auf die Sichtbarkeit und Suchrankings haben.
Alt-Tags sind aus vielen Gründen wichtig, UX und SEO sind nur zwei von vielen.
-Marissa @ VisualFizz http://www.visualfizz.com
WordPress-Benutzer können die Azure API auch in diesem praktischen Plugin nutzen.
https://wordpress.org/plugins/automatic-alternative-text/
Wir müssen bedenken, dass sich „alt“-Text auf *alternativen* Text bezieht, den Sie in einem Browser anzeigen lassen möchten, falls das zugehörige Bild aus irgendeinem Grund nicht angezeigt werden kann oder vorgelesen werden soll. Der „alternative“ Teil ist hier wichtig. Ich denke, historisch wurden uns als Webentwickler immer gesagt: „Fügen Sie Alt-Text für Ihre Bilder hinzu“, was… in Ordnung ist… aber wenn Sie ein dekoratives Bild einer Familie beim Picknick haben und das Bild nicht angezeigt werden kann, brauchen Sie nicht wirklich „Familie beim Picknick“ auf der Webseite anzuzeigen, und Sie müssen es nicht von einem Screenreader vorlesen lassen.
Und es könnte einige Fälle geben, in denen Alt-Text und Figcaption-Text gleich sind, aber konzeptionell unterschiedlich sind.
Natürlich gibt es auch das Titel-Attribut, das noch anders ist. Oh, und warten Sie mal, es gibt auch das `longdesc`-Attribut… noch eine Sache. Lernen Sie die Unterschiede zwischen ihnen kennen und verwenden Sie sie (oder nicht) von Fall zu Fall.
Nur ein paar Punkte
Erstens ist der ursprüngliche Zweck des `alt`-Attributs ein Ersatz für das Bild. Es soll nur verwendet werden, wenn das Bild nicht angezeigt werden kann. Dies ist nicht auf Sehbehinderung beschränkt: reine Textbrowser, begrenzte Bandbreite und eine fehlgeschlagene Bereinigung können ebenfalls dazu führen, dass Bilder fehlen. Der Alt-Text sollte einen angemessenen Ersatz bieten, anstatt nur den Namen des Bildes vorzulesen.
Der Alt-Text war nie dazu gedacht, das Bild zu erklären. Dafür ist der Titel da und er ist verfügbar, ob das Bild verfügbar ist oder nicht. Zu einem Zeitpunkt zeigte IE den `alt`-Text als Tooltip an, aber das wurde behoben. Nur der Titel sollte das tun.
Zweitens, ganz allgemein gesprochen, kann man argumentieren, dass manche Bilder informativ sind, während andere es nicht sind (z. B. solche, die rein dekorativ sind). Die Grenze zwischen beidem ist nicht scharf. Dann kann man argumentieren, dass ein `alt`-Attribut für informative Bilder unerlässlich ist, während es für nicht-informative Bilder weniger wichtig ist.
Drittens bestrafen Barrierefreiheitstests Sie tendenziell für fehlende Alt-Tags, da sie zwischen informativen Bildern und anderen nicht unterscheiden können. Das wird die Dinge kompliziert machen, wenn Sie versuchen, den Rat in diesem Artikel, der im Allgemeinen gut ist, zu befolgen und gleichzeitig Barrierefreiheitstests zu bestehen.
Nur so am Rande …