Czy poprawne jest użycie tagu alt dla linku do kotwicy, na przykład
<a href="#" class="test" alt="Something" src="sfasfs" ></a>
Czy poprawne jest użycie tagu alt dla linku do kotwicy, na przykład
<a href="#" class="test" alt="Something" src="sfasfs" ></a>
Odpowiedzi:
Na takie rzeczy najlepiej odpowiedzieć patrząc na oficjalną specyfikację:
przejdź do specyfikacji: https://www.w3.org/TR/html5/
wyszukaj „ a
element”: https://www.w3.org/TR/html5/text-level-semantics.html#the-a-element
zaznacz „Atrybuty treści”, które zawiera listę wszystkich dozwolonych atrybutów a
elementu:
- Atrybuty globalne
href
target
download
rel
hreflang
type
sprawdź link „Atrybuty globalne”: https://www.w3.org/TR/html5/dom.html#global-attributes
Jak zobaczysz, alt
atrybut nie jest dozwolony w a
elemencie.
Można również zauważyć, że src
atrybut też nie jest dozwolony.
Po zweryfikowaniu kodu HTML zostaną Ci zgłoszone takie błędy.
Zauważ, że powyższe dotyczy HTML5 , który jest standardem HTML W3C od 2014 roku . W 2016 roku HTML 5.1 stał się kolejnym standardem HTML . Znajdowanie dozwolonych atrybutów działa w ten sam sposób. Zobaczysz, że a
element może mieć inny atrybut w HTML 5.1: rev
.
Możesz znaleźć wszystkie specyfikacje HTML (w tym najnowszy standard) w aktualnym stanie HTML W3C .
title
.
W przypadku kotwic powinieneś zamiast tego użyć tytułu. alt nie jest prawidłowym atrybutem pliku. Zobacz http://w3schools.com/tags/tag_a.asp
„tytuł” jest szeroko stosowany w przeglądarkach. Próbować:
<a href="#" title="hello">asf</a>
title
jest niepoprawne zgodnie ze specyfikacją HTML5 (mimo że większość przeglądarek to zaimplementuje).
Nie, alt
atrybut (byłby to atrybut, a nie znacznik) nie jest dozwolony dla a
elementu w żadnej specyfikacji HTML ani wersji roboczej. I wydaje się, że żadna przeglądarka nie rozpoznaje tego jako mającego jakiekolwiek znaczenie.
To trochę tajemnicze, dlaczego ludzie próbują go używać, ale prawdopodobnym wyjaśnieniem jest to, że robią to analogicznie z alt
atrybutem img
elementów, spodziewając się, że po najechaniu kursorem myszy zobaczysz „podpowiedź”. Są w tym dwie rzeczy. Po pierwsze, każdy element ma swoje własne atrybuty, zdefiniowane w specyfikacjach każdego elementu. Po drugie, renderowanie alt
atrybutów „podpowiedzi” w niektórych starożytnych przeglądarkach jest / było dziwactwem lub nawet błędem, a nie czymś, czego można się spodziewać; alt
atrybut ma być prezentowane użytkownikowi wtedy i tylko wtedy, gdy sam obraz nie jest prezentowany, niezależnie od przyczyny.
Aby utworzyć „podpowiedź”, użyj title
atrybutu lub, znacznie lepiej, Google dla "podpowiedzi CSS" i użyj podpowiedzi CSS według własnych preferencji (można je scharakteryzować jako ukryte "warstwy", które stają się widoczne po najechaniu kursorem myszy).
Powinieneś użyć atrybutu title dla tagów kotwicy, jeśli chcesz zastosować informacje opisowe, podobnie jak w przypadku atrybutu alt. Atrybut tytułu jest prawidłowy w tagach kotwicy i nie służy wyłącznie do dostarczania informacji o połączonej stronie.
W3C zaleca, aby wartość atrybutu tytułu odpowiadała wartości tytułu powiązanego dokumentu, ale nie jest to obowiązkowe.
http://www.w3.org/MarkUp/1995-archive/Elements/A.html
Alternatywnie, i prawdopodobnie będzie to bardziej korzystne, możesz użyć atrybutu dostępności ARIA aria-label
(nie mylić z aria-labeledby
). aria-label
pełni tę samą funkcję, co atrybut alt dla obrazów, ale dla elementów niebędących obrazami i zawiera pewną miarę optymalizacji od czasu optymalizacji pod kątem czytników ekranu.
http://www.w3.org/WAI/GL/wiki/Using_aria-label_to_provide_labels_for_objects
Jeśli jednak chcesz opisać tag kotwicy, zwykle dobrze jest użyć tagu rel lub rev, ale ograniczając się do określonych wartości, nie należy ich używać w opisach czytelnych dla człowieka.
Rel służy do opisu relacji strony, do której prowadzi łącze, z bieżącą stroną. (np. jeśli połączona strona jest następna w serii logicznej, będzie to rel = next)
Atrybut rev jest zasadniczo odwrotną zależnością atrybutu rel. Wersja Rev opisuje związek bieżącej strony ze stroną, do której prowadzi łącze.
Listę prawidłowych wartości można znaleźć tutaj: http://microformats.org/wiki/existing-rel-values
Użyłem tytułu i zadziałało!
Atrybut tytułu podaje tytuł łącza. Z jednym wyjątkiem ma charakter czysto doradczy. Wartość to tekst. Wyjątkiem są łącza arkuszy stylów, gdzie atrybut tytułu definiuje alternatywne zestawy arkuszy stylów.
<a class="navbar-brand" href="http://www.alberghierocastelnuovocilento.gov.it/sito/index.php" title="sito dell'Istituto Ancel Keys">A.K.</a>
Jestem zaskoczony, widząc wszystkie odpowiedzi stwierdzające, że użycie alt
atrybutu w a
tagu jest nieprawidłowe . To jest całkowicie błędne.
Html nie blokuje używania żadnych atrybutów:
<a your-custom-attribute="value">Any attribute can be used</a>
Jeśli zapytasz, czy użycie alt
atrybutu w jest poprawne semantycznie, a
powiem:
NIE. Służy do ustawienia opisu obrazu <img alt="image description" />
.
To kwestia tego, co zrobisz z atrybutami. Oto przykład:
a::after {
content: attr(color); /* attr can be used as content */
display: block;
color: white;
background-color: blue;
background-color: attr(color); /* This won't work */
display: none;
}
a:hover::after {
display: block;
}
[hidden] {
display: none;
}
<a href="#" color="red">Hover me!</a>
<a href="#" color="red" hidden>In some cases, it can be used to hide it!</a>
Ponownie, jeśli zapytasz, czy użycie atrybutu niestandardowego jest semantycznie poprawne, powiem:
Nie. Używaj data-*
atrybutów do celów semantycznych.
Ups, pytanie zadano w 2013 roku.
title
atrybutu w atrybutacha
globalnych. Czy używanie takiegotitle
atrybutu w atrybucie jest słuszne,a
czy nie?