• 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?

VPS Starter Arubacloud
0 głosów
227 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 (604,400 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 (604,400 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,101 wizyt
0 głosów
2 odpowiedzi 125 wizyt
pytanie zadane 15 lipca 2023 w HTML i CSS przez Nitr0Skay Użytkownik (670 p.)
0 głosów
1 odpowiedź 269 wizyt

92,840 zapytań

141,781 odpowiedzi

320,856 komentarzy

62,172 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

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!

...