Apakah benar menggunakan tag alt untuk tautan jangkar?

124

Apakah benar menggunakan tag alt untuk tautan jangkar, sesuatu seperti

<a href="#" class="test" alt="Something" src="sfasfs" ></a>
pengguna2067736
sumber

Jawaban:

130

Hal-hal seperti itu paling baik dijawab dengan melihat spesifikasi resmi:

  1. buka spesifikasi: https://www.w3.org/TR/html5/

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

  3. centang "Atribut konten", yang mencantumkan semua atribut yang diizinkan untuk aelemen:

    • Atribut global
    • href
    • target
    • download
    • rel
    • hreflang
    • type
  4. periksa "Atribut global" yang ditautkan: https://www.w3.org/TR/html5/dom.html#global-attributes

Seperti yang akan Anda lihat, altatribut tidak diperbolehkan pada aelemen.
Anda juga akan melihat bahwa srcatribut tersebut juga tidak diperbolehkan.

Dengan memvalidasi HTML Anda , kesalahan seperti ini dilaporkan kepada Anda.


Perhatikan bahwa yang di atas adalah untuk HTML5 , yang merupakan standar HTML W3C dari 2014 . Pada 2016, HTML 5.1 menjadi standar HTML berikutnya . Menemukan atribut yang diizinkan berfungsi dengan cara yang sama. Anda akan melihat bahwa aelemen dapat memiliki atribut lain di HTML 5.1: rev.

Anda dapat menemukan semua spesifikasi HTML (termasuk standar terbaru) di Status Terkini HTML W3C .

unor
sumber
2
Saya tidak melihat titleatribut di atribut aGlobal apakah benar menggunakan titleatribut seperti itu di aatau tidak?
Yousef Altaf
1
@YousefAltaf: Di halaman mana Anda melihat? Yang terkait, atribut Global , daftar title.
unor
Saya mendapatkannya sehingga terdaftar di bawah atribut Global, tetapi apakah itu mempengaruhi kualitas halaman jika saya menggunakannya atau tidak?
Yousef Altaf
@YousefAltaf: Itu pertanyaan lain, yang sebaiknya tidak dibahas di sini. Lihat definisinya . Jika Anda masih memiliki pertanyaan tentang itu, silakan buat pertanyaan terpisah (tapi lebih baik cari sebelumnya jika belum ditanyakan).
unor
4
Jawaban ditandai sebagai "Bagaimana mencari atribut HTML". Terima kasih.
Codebling
59

Untuk jangkar, Anda harus menggunakan judul sebagai gantinya. alt bukan atribut valid dari a. Lihat http://w3schools.com/tags/tag_a.asp

Tom adalah
sumber
@FabioPoloni Terima kasih, saya berharap semua orang dapat menemukan tautan di bawah ini di halaman :-)
tomis
Saya pikir jika seseorang tidak tahu banyak tentang topik ini, dia tidak akan menemukannya ;-)
Fabio Poloni
8
Informasi ini kebetulan benar di w3schools, tetapi w3schools tidak resmi dan tidak dapat diandalkan, lihat w3fools.com
Jukka K. Korpela
thx Guys ... selain itu kebutuhan saya semata-mata didasarkan pada standar aksesibilitas serta meniadakan overhead kinerja. Saya telah menggunakan gambar spirte, pada saat yang sama ingin memberikan atribut alt, yang tidak dapat dilakukan dengan menggunakan gambar latar belakang. Sebaliknya saya memiliki solusi yang membantu ..
user2067736
1
"title" bukan lagi di w3schools. Tapi Anda bisa menggunakan judul, karena merupakan atribut global: w3.org/TR/html5/dom.html#global-attributes
rosell.dk
28

"judul" diterapkan secara luas di browser. Mencoba:

<a href="#" title="hello">asf</a>
Pablo Pazos
sumber
3
Seperti inilah tampilan jawaban, bukan jawaban 10 menit di atas. Tetapi jawaban ini juga harus memiliki tautan: w3schools.com/tags/att_global_title.asp
mikael1000
Saya setuju bahwa hal di atas tidak menjawab pertanyaan tersebut, namun menurutnya tidak titlebenar menurut spesifikasi HTML5 (meskipun sebagian besar browser akan menerapkannya).
felwithe
6

Tidak, altatribut (ini akan menjadi atribut, bukan tag) tidak diperbolehkan untuk aelemen dalam spesifikasi atau draf HTML apa pun. Dan tampaknya tidak dikenali oleh browser mana pun sebagai memiliki signifikansi apa pun.

Ini sedikit misteri mengapa orang mencoba menggunakannya, tetapi penjelasan yang mungkin adalah bahwa mereka melakukannya secara analog dengan altatribut untuk imgelemen, mengharapkan untuk melihat "tooltip" pada gerakan mouse. Ada dua hal yang salah dengan ini. Pertama, setiap elemen memiliki atributnya sendiri-sendiri, yang ditentukan dalam spesifikasi untuk setiap elemen. Kedua, rendering altatribut “tooltip” di beberapa browser kuno adalah quirk atau bahkan bug, bukan sesuatu yang diharapkan; yang altatribut seharusnya disajikan kepada pengguna jika dan hanya jika gambar itu sendiri tidak disajikan, untuk alasan apa pun.

Untuk membuat “tooltip”, gunakan titleatributnya atau, jauh lebih baik, Google untuk "tooltip CSS" dan gunakan tooltip berbasis CSS dari preferensi Anda (mereka dapat dicirikan sebagai "lapisan" tersembunyi yang terlihat saat gerakan mouse).

Jukka K. Korpela
sumber
Bagaimana cara menggunakan tautan yang dibuat secara terprogram dengan menggunakan tooltips berbasis CSS?
Salvador Valencia
6

Anda harus menggunakan atribut title [judul] untuk tag jangkar jika Anda ingin menerapkan informasi deskriptif seperti yang Anda lakukan untuk atribut alt. Atribut judul valid pada tag jangkar dan tidak memiliki tujuan lain selain memberikan informasi tentang halaman yang ditautkan.

W3C merekomendasikan bahwa nilai atribut judul harus sesuai dengan nilai judul dokumen yang ditautkan tetapi tidak wajib.

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


Alternatifnya, dan cenderung lebih bermanfaat, Anda dapat menggunakan atribut aksesibilitas ARIA aria-label(jangan disamakan dengan aria-labeledby). aria-labelmelayani fungsi yang sama seperti atribut alt untuk gambar tetapi untuk elemen non-gambar dan menyertakan beberapa ukuran pengoptimalan sejak pengoptimalan Anda untuk pembaca layar.

http://www.w3.org/WAI/GL/wiki/Using_aria-label_to_provide_labels_for_objects


Jika Anda ingin mendeskripsikan tag anchor, biasanya sesuai untuk menggunakan tag rel atau rev ​​tetapi Anda terbatas pada nilai tertentu, tag tersebut tidak boleh digunakan untuk deskripsi yang dapat dibaca manusia.

Rel berfungsi untuk mendeskripsikan hubungan halaman yang ditautkan dengan halaman saat ini. (misalnya jika halaman tertaut berikutnya dalam rangkaian logis itu akan menjadi rel = next)

Atribut rev pada dasarnya adalah hubungan kebalikan dari atribut rel. Rev menjelaskan hubungan halaman saat ini dengan halaman tertaut.

Anda dapat menemukan daftar nilai yang valid di sini: http://microformats.org/wiki/existing-rel-values

davidcondrey.dll
sumber
5

Saya menggunakan judul dan berhasil!

Atribut judul memberikan judul tautan. Dengan satu pengecualian, ini murni nasihat. Nilainya adalah teks. Pengecualiannya adalah untuk tautan lembar gaya, di mana atribut judul mendefinisikan kumpulan lembar gaya alternatif.

<a class="navbar-brand" href="http://www.alberghierocastelnuovocilento.gov.it/sito/index.php" title="sito dell'Istituto Ancel Keys">A.K.</a>
Giovanni G. PY
sumber
1

Saya terkejut melihat semua jawaban yang menyatakan penggunaan altatribut dalam atag tidak valid . Ini sangat salah.

Html tidak memblokir Anda menggunakan atribut apa pun:

<a your-custom-attribute="value">Any attribute can be used</a>

Jika Anda bertanya apakah secara semantik benar untuk menggunakan altatribut amaka saya akan mengatakan:

TIDAK. Ini digunakan untuk mengatur deskripsi gambar <img alt="image description" />.

Ini adalah masalah apa yang akan Anda lakukan dengan atributnya. Berikut contohnya:

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>

Sekali lagi, jika Anda bertanya apakah secara semantik benar menggunakan atribut khusus maka saya akan mengatakan:

Tidak. Gunakan data-*atribut untuk penggunaan semantiknya.


Ups, pertanyaan telah diajukan pada tahun 2013.

Bhojendra Rauniyar
sumber