• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy da się sprawić, by znacznik semantyczny przestał być semantyczny?

Object Storage Arubacloud
0 głosów
212 wizyt
pytanie zadane 21 kwietnia 2019 w HTML i CSS przez Volper Początkujący (300 p.)

Czy istnieje jakiś sposób, aby np. znacznik <section> stał się niesemantyczny?

Może to się wydawać głupie pytanie, ale podczas przeglądania strony, w której użyte były jakieś szablony w postaci arkuszów stylów czy skryptów JS, mogą pojawić się odniesienia do tego na przykład znacznika.

Przykład:

section.menu {padding: 0;}

Tutaj użyty jest w selektorze znacznik <section> o klasie .menu, lecz załóżmy, że nie chcemy w menu (navie) stosować owego znacznika <section>.

Ktoś mógłby powiedzieć, że wystarczy w takim przypadku zamienić section na diva:

.menu {padding: 0;}

Lecz załóżmy także, że nie mamy do czynienia z krótkim stylem takim jak powyższy, ale z całymi arkuszami CSS i skryptami, które bazują na tym, że musi to być jednak <section>.

Czy jest więc sposób na to, by w HTMLu usunąć "semantyczność" tego znacznika?

Podam jeszcze jeden przykład kodu, aby wiadomo było, o co chodzi:

<nav>
  <section class="menu">
  <!-- Nie chcemy tu używać znacznika section, bo
  nie pasuje to do semantyki naszej witryny, ale 
  zmusza nas do tego zewnętrzny CSS -->
    <ul>
      <li>Opcja 1</li>
      <li>Opcja 2</li>
    </ul>
  </section>
</nav>

Przez "semantyczność" mam na myśli to, że dany element jest czytany przez robota Google czy robota czytającego dla niewidomych jako np. sekcja, a nie niewidzialny semantycznie element taki jak div czy span. 

1 odpowiedź

0 głosów
odpowiedź 21 kwietnia 2019 przez Comandeer Guru (601,110 p.)

[role=presentation] – niemniej nie mam zielonego pojęcia, jakie jest dla tego wsparcie w narzędziach. Wiem tylko, że powinno to być respektowane przez czytniki ekranowe.

Ogólnie to lepiej byłoby mimo wszystko poprawić kod HTML.

komentarz 21 kwietnia 2019 przez Volper Początkujący (300 p.)
Czy ten atrybut role="presentation" sprawi, że tylko sam <section> będzie niewidoczny semantycznie, czy że cała zawartość w środku tego znacznika też nie będzie w ogóle czytana przez roboty?
komentarz 21 kwietnia 2019 przez Comandeer Guru (601,110 p.)

Tak, sprawi tylko, że section straci swoją semantykę → https://timwright.org/blog/2016/11/19/difference-rolepresentation-aria-hiddentrue/

Podobne pytania

+27 głosów
3 odpowiedzi 1,075 wizyt
0 głosów
2 odpowiedzi 110 wizyt
pytanie zadane 15 lipca 2023 w HTML i CSS przez Nitr0Skay Użytkownik (670 p.)
0 głosów
1 odpowiedź 216 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...