2013-02-13 22 views

Odpowiedz

39

Dla kotew, należy użyć zamiast tytuł. alt nie jest prawidłowym atrybutem a. Zobacz http://w3schools.com/tags/tag_a.asp

+1

... i http://w3schools.com/tags/ref_standardattributes.asp –

+0

@FabioPoloni Dzięki, Spodziewałem się, że każdy znajdzie link poniżej na stronie :-) – tomis

+0

Pomyślałem, że jeśli ktoś nie wie dużo o tym temacie, to go nie znajdzie ;-) –

103

Takie rzeczy najlepiej odpowiedział patrząc na oficjalnej specyfikacji:

  1. przejść do specyfikacji: https://www.w3.org/TR/html5/

  2. wyszukiwania "a elementu": https://www.w3.org/TR/html5/text-level-semantics.html#the-a-element

  3. wyboru "Atrybuty treści", który zawiera listę wszystkich dozwolonych atrybutów dla elementu a:

    • Globalny atrybuty
    • href
    • target
    • download
    • rel
    • hreflang
    • type
  4. kontrolne związane z "Global atrybuty": https://www.w3.org/TR/html5/dom.html#global-attributes

Jak widać, atrybut alt jest niedozwolone na elemencie a.
Można również zauważyć, że atrybut src jest również zabroniony.

Przez validating your HTML, podobne błędy są zgłaszane.


Należy zauważyć, że powyższe jest dla HTML5, który jest W3C’s HTML standard from 2014. W 2016 roku HTML 5.1 stała się the next HTML standard. Znalezienie dozwolonych atrybutów działa w ten sam sposób. Zobaczysz, że element a może mieć inny atrybut w HTML 5.1: rev.

Możesz znaleźć wszystkie specyfikacje HTML (w tym najnowszy standard) na W3C’s HTML Current Status.

+2

Nie widzę atrybutu 'title' w globalnych atrybutach' a' czy jest właściwe używanie takiego atrybutu 'title' w' a' czy nie? –

+0

@YousefAltaf: na której stronie wyglądasz? Połączony, [Atrybuty globalne] (http://www.w3.org/TR/html5/dom.html#global-attributes), wyświetla "tytuł". – unor

+0

Mam to tak, że jest on wymieniony pod globalnymi atrybutami, ale czy wpływa na jakość strony, jeśli go używam, czy nie? –

5

Nie, atrybut (jest to atrybut, a nie tag) nie jest dozwolony dla elementu a w dowolnej specyfikacji HTML lub wersji roboczej. I nie wydaje się być rozpoznawana przez żadną przeglądarkę jako mającą jakiekolwiek znaczenie.

To trochę tajemnica, dlaczego ludzie próbują go użyć, ale prawdopodobnym wyjaśnieniem jest to, że robią to analogicznie z atrybutem alt dla elementów img, oczekując wyświetlenia "podpowiedzi" po najechaniu myszą. W tym są dwie rzeczy. Po pierwsze, każdy element ma własne atrybuty zdefiniowane w specyfikacji dla każdego elementu. Po drugie, renderowanie "tooltip" atrybutów alt w niektórych starożytnych przeglądarkach jest/było dziwactwem, a nawet błędem, a nie czymś, czego można się było spodziewać; atrybut alt ma być prezentowany użytkownikowi tylko wtedy, gdy sam obraz nie jest prezentowany z jakiegokolwiek powodu.

Aby utworzyć "etykietkę narzędziową", należy zamiast tego użyć atrybutu title lub, znacznie lepiej, Google dla "podpowiedzi CSS" i użyć podpowiedzi opartych na CSS według własnych preferencji (można je scharakteryzować jako ukryte "warstwy", które stają się widoczne na mouseover).

+0

Jak używać linków utworzonych programowo przy użyciu podpowiedzi opartych na CSS? –

3

Należy użyć atrybutu title dla znaczników zakotwiczenia, jeśli chcesz zastosować informacje opisowe w podobny sposób, jak w przypadku atrybutu alt. Atrybut title jest ważny na znacznikach zakotwiczających i służy wyłącznie do przekazywania informacji o połączonej stronie.

W3C zaleca, aby wartość atrybutu title odpowiadała wartości tytułu powiązanego dokumentu, ale nie jest obowiązkowa.

http://www.w3.org/MarkUp/1995-archive/Elements/A.html


Alternatywnie, i prawdopodobnie bardziej korzystne, można 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 innych niż obraz 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 chcesz opisać znacznik zakotwiczenia chociaż, to zwykle należy użyć tagu rel lub rev ale ograniczonej do określonych wartości, nie powinny być wykorzystywane do czytelnej opisami.

Rel służy do opisania relacji powiązanej strony 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ą relacją atrybutu rel. Rev opisuje związek bieżącej strony z linkowaną stroną.

można znaleźć listę prawidłowych wartości tutaj: http://microformats.org/wiki/existing-rel-values

16

„title” jest powszechnie stosowane w przeglądarkach. Wypróbuj:

<a href="#" title="hello">asf</a> 
+0

Dzięki za szybką wskazówkę! – Sohail

+0

Oto jak powinna wyglądać odpowiedź zamiast 10-minutowej odpowiedzi powyżej. Ale ta odpowiedź powinna również mieć link: https://www.w3schools.com/tags/att_global_title.asp – mikael1000

+0

Zgadzam się, że powyższe nie odpowiada na pytanie, jednak zgodnie z nim "tytuł" jest nieprawidłowy zgodnie z specyfikacja HTML5 (mimo że większość przeglądarek ją zaimplementuje). – felwithe

2

Użyłem tytułu i zadziałało!

Atrybut title podaje tytuł linku. Z jednym wyjątkiem jest to czysto doradcze. Wartością jest tekst. Wyjątkiem są linki do arkuszy stylów, w których atrybut title 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>