Skocz do zawartości

[xhtml] zastosowanie elementu label dla inputow


roiwew

Rekomendowane odpowiedzi

stosuje element label dla pol formularzy mniej wiecej w taki sposob:

HTML

<div id="firstName">
<label for="oFirstName">First name</label>
<input type="text" name="sFirstName" id="oFirstName" />
</div>

wg w3c mozna jeszcze korzystac z tego elementu w taki sposob:

HTML

<div id="firstName">
<label>First name
 <input type="text" name="sFirstName" />
</label>
</div>

dla mnie oszczednosc kodu bo zwykle nie mam dodatkowych elementow w takiej strukturze, a nie mam nadmiarowych atrybutow, pytanie jednak jakie to ma wady i zalety... czy np bez problemu sobie bede mogl te elementy ustawic w stylach bo w drugim przypadku tekst "First name" juz nie jest w osobnym atrybucie... druga sprawa to jak z zaleceniami WAI, czy to tez jest poprawna konstrukcja? ostatnia rzecz czy wyszukiwarki nie beda zmieszane co jest do czego? bo opis pola jest razem z nim w jednym elemencie...

- - -

PHP, HTML, JS, Quick.Cms v4.0, Quick.Cart v5.0, Simlery

- - -

Odnośnik do komentarza
Udostępnij na innych stronach

W drugim przypadku tekst jest w osobnym tagu, inny selector. Kod dużo lepszy. Pierwszy przykład marny, dużo kodu, który nic nie robi, no i możliwe błędy przy zmianie jak ktoś zapomni zmienić jeden z dwóch id'ów.

selectory do 2.

#firstName label

#firstName label input

Nie rozumiem co to ma wspólnego z xhtml / WAI.

<input type="text" name="sFirstName" />

Jeśli nie serwujesz kodu jako application/xhtml to taki zapis jest niepoprawny. To już pod WAI podchodzi.

<span style='color: red'><span style='color: blue' />TEST</span>

Wstaw powyższe do strony, jeśli napis jest na niebiesko to znaczy że strona jest interpretowana jako HTML i wszystkie <tag ... /> to niepoprawne konstrukcje.

4.1 WCAG:

Guideline 4.1: Maximize compatibility with current and future user agents, including assistive technologies

1) ensuring that authors do not do things that would break AT (e.g. poorly formed markup) or circumvent AT (e.g. by using unconventional markup or code) and 2) exposing information in the content in standard ways that assistive technologies can recognize and interact with....

Odnośnik do komentarza
Udostępnij na innych stronach

no tak ale np nie moge ustawic tla tylko dla tekstu poniewaz selektor #firstName label obejmuje tez inputa... o takie wady mi chodzi...

z wai ma to duzo wspolnego, no to ze jest element semantyczny ktory musi byc poprawnie obslugiwany np przez cynthie, wiec musi byc poprawnie zrobiony

- - -

PHP, HTML, JS, Quick.Cms v4.0, Quick.Cart v5.0, Simlery

- - -

Odnośnik do komentarza
Udostępnij na innych stronach

Daj tekst do span albo jeśli będzie niepoprawne to do b. Wiem, że b to niezbyt semantyczne w tym <b> ale lepiej już mieć kod niezbyt semantyczny niż kopiować fragmenty kodu (w tym wypadku ID). Jest w CSS selector first-child. Ten tekst powinien być pierwszym potomkiem LABEL. Niestety nie działa w IE, więc trzeba sobie inaczej radzić.

Ja bym się tym tak bardzo nie przejmował i najpierw zrobił tą stronę w poprawnym HTMLu, bo na razie działa tylko dlatego, że parser interpretuje <coś _/_> jako atrybut HTMLa. To jest błąd składni, z tego co wiem taki atrybut nie jest poprawny. Chyba, że ten kod jest dla jakiegoś specjalistycznego parsera pracującego domyślnie w trybie XHTML a nie do publicznego użytku.

Tzn. najlepiej poprawiać od przodu a nie od tyłu. To bez różnicy czy strona jest WAI compliant skoro masz błędy na poziomie HTML'a w co 2 linijce. OOps no właśnie już samo to wyklucza bycie WAI compliant z tego co wiem. Z resztą zobacz sobie to forum w firefoxie i potem w jakim trybie się renderuje. Będzie text/html chociaż masz doctype (które nic nie znaczy) XHTML w nagłówku.

W skrócie to chcę powiedzieć, że XHTML nie jest dzisiaj żadnym standardem i nie masz gwarancji czy useragent to zrozumie czy wyrenderuje. I nie chodzi tu tylko o przeglądarki ale i roboty i wyszukiwarki. Nawet jak już jakimś cudem UA ma obsługę XHTML jak firefox to jest pełna błędów. Na przykład nie działa renderowanie przyrostowe. Poczytaj sobie zalecenia na stronie mozilli - "xhtml należy wysyłać tak, żeby przeglądarka działała w trybie html".

Jedynym szeroko obsługiwanym standardem na dzień dzisiejszy jest HTML.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności