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

Cloud VPS
0 głosów
294 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 (607,100 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 (607,100 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,343 wizyt
0 głosów
2 odpowiedzi 200 wizyt
pytanie zadane 15 lipca 2023 w HTML i CSS przez Nitr0Skay Użytkownik (690 p.)
0 głosów
1 odpowiedź 557 wizyt

93,483 zapytań

142,417 odpowiedzi

322,763 komentarzy

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

Kursy INF.02 i INF.03
...