2015-09-22 9 views
8

Czy istnieje element HTML, którego można użyć, aby zaznaczyć "to jest to, co akronim oznacza", w przypadkach, w których chcę pełne znaczenie wyświetlane w tekście, a nie w etykiecie narzędzia na element <abbr>.Jakiego elementu użyć na odwrocie: <abbr>

Na przykład, chcę napisać definicję "CSS" i kładę

<dt>CSS</dt> 
<dd>Short for <mark>Cascading Style Sheets</mark>. This is the name of 
    the language that stylesheets are written in.</dd> 

Co elementem mogę używać gdzie ja teraz nadużywany mark?

PS możesz rozważyć odpowiadanie na używanie żadnych znaczników, ale chcę, aby nazwa wyróżniała się kursywą, więc potrzebuję czegoś!

+0

Co z ''? –

+2

@JeroenBellemans Nie, nie mam na myśli nacisku; to miałoby inne znaczenie! Na przykład, gdy uruchamiam stronę za pomocą syntezatora mowy, nie chcę, aby głośnik podnosił głos, tak jakby fraza była ważniejsza. –

+0

Co jest nie tak z 'mark' lub po prostu' span' lub faktycznym 'i'? – dfsq

Odpowiedz

5

Niestety, HTML robi nie ma dedykowanego elementu, który reprezentuje rozszerzoną formę skrótu.

Ten przykład z the HTML5 spec on abbr wydaje się dość blisko do przypadku użycia, z wyjątkiem skrót pojawia się po rozszerzeniu w ustępie, nie w elemencie dd po dt zawierającego skrót. Przykład demonstruje za pomocą elementu dfn aby oznaczyć ekspansję:

<p>The <dfn id=whatwg>Web Hypertext Application Technology 
Working Group</dfn> (<abbr 
title="Web Hypertext Application Technology Working Group">WHATWG</abbr>) 
is a loose unofficial collaboration of Web browser manufacturers and 
interested parties who wish to develop new technologies designed to 
allow authors to write and deploy Applications over the World Wide 
Web.</p> 

W oparciu o description of dfn, który mówi (podkreślenie moje):

Element dfn reprezentuje określającą wystąpienie terminu. Grupa opisów ust. lub sekcja, która jest najbliższym przodkiem elementu dfn, musi również zawierać definicję (definicje) dla terminu podanego przez element dfn.

powinieneś być w stanie oznaczyć zawartość podobnie:

<dt><abbr title="Cascading Style Sheets">CSS</abbr></dt> 
<dd>Short for <dfn>Cascading Style Sheets</dfn>. This is the name of 
    the language that stylesheets are written in.</dd> 

Jednak nie jestem pewien, czy jest to właściwe dla dfn pojawiać w dd raczej niż jego związana dt, nawet w ten sam dl.Jeśli to Ci przeszkadza, następna najbliższa alternatywa bez konieczności uciekania się do span jest i:

<dt><abbr title="Cascading Style Sheets">CSS</abbr></dt> 
<dd>Short for <i>Cascading Style Sheets</i>. This is the name of 
    the language that stylesheets are written in.</dd> 

(i pewnie dodać dfn jako dziecko z dt i rodzica abbr zamiast, jak również)

+0

Nie wiedziałem o '', wydaje się dobrą sugestią semantyczną. –

+1

Dobry; Mogę w końcu z tego skorzystać. Szkoda jednak, że 'dfn' nie ma atrybutu' for' (jak etykiety). Strona mówi, że "tytuł" jest używany w ten sposób, ale tytuł jest nadal także etykietą. No cóż. –

+0

@Mr Lister: Rzeczywiście, to wstyd. – BoltClock

1

Użyć

<i></i> or </em></em> 

, lub rozpiętość ze znacznikiem danych atrybutu, np

<dt>CSS</dt> 
<dd>Short for <span data-acronym>Cascading Style Sheets</mark>. This...</dd> 

lub

<dt>CSS</dt> 
<dd>Short for <span data-acronym="CSS">Cascading Style Sheets</mark>. This..</dd> 

Jeśli jest to dla akronimów można również usunąć "Skrót" i po prostu

<dt>CSS</dt> 
<dd>Cascading Style Sheets</dd> 

a następnie kolejny wpis

<dt>Cascading Style Sheets</dt> 
<dd>The language format that web stylesheets are written in.</dd> 
+0

Nie ma _just_ dla listy akronimów. Jest to problem wszędzie tam, gdzie chcę użyć pełnej nazwy i chcę, aby znacznik pokazywał, że jest to pełne imię i nazwisko. –

+0

Czy '

' i '
' muszą znajdować się wewnątrz '
' (lista definicji)? –

+1

@William Turrell: Zrobią - zakładam, że dl jest pominięte ze względu na zwięzłość. – BoltClock

Powiązane problemy