Attribute href not allowed on element button at this point.

thandori

Grünschnabel
Hallo zusammen, hoffe das ich jetzt im richtigen Forum bin.
Ich habe mit Craft eine Webseite programmiert bekommen und habe das Problem das die Produktseite nicht gefunden wird.
Die Programierer stehen leider nicht mehr zur Verfügung. Habe die besagte Seite mit dem Validator w3 geprüft und würde mich freuen wenn mir jemand helfen kann den Fehler zu beheben.
Habe folgende Meldung erhalten:

Error: Attribute href not allowed on element button at this point.
From line 51, column 17; to line 51, column 147
<button class="menu-item current" href="javascript:void(0)" onclick="document.getElementById('inside').toggleAttribute('active')" >Produk

hier die Source:
  • </a>↩
  • <div class="links site-active">↩
  • <div class="nested-links">↩
  • <button class="menu-item current" href="javascript:void(0)" onclick="document.getElementById('inside').toggleAttribute('active')" >Produkte</button>↩
  • <div class="inside" id="inside">↩
  • <a href="/produkte/classic-line-hocker" class="menu-item current">Classic Line - Hocker</a>↩
  • <a href="/produkte/art-line-hocker" class="menu-item ">Art Line - Hocker</a>↩
  • </div>↩
  • </div>↩
Die Bilder der Produktseite werden nur über die Webseite gezeigt aber nicht in der Bildersuche. Also kein einziges. die Search Console sagt das die meisten Seiten sprich Bilder nicht geladen werden können.
Habe mittlerweilen rausbekommen das href nicht zu einem button gehört. wie muss ich es ändern?
Wäre schön wenn mir hier jemand helfen könnte.
 
Lösung
Falls du den Fehler auch beheben willst
Code:
Error: Element div not allowed as child of element button in this context. (Suppressing further errors from this subtree.)
From line 71, column 9; to line 71, column 28
>↩        <div class="middle"></div>
Mach aus dem Button ein anderes Element ( div ,oder so), dann ist Fehler weg und beim schnellen Testen läuft es noch und die CSS läuft auch
Error: Attribute href not allowed on element button at this point.
From line 51, column 17; to line 51, column 147

Eigentlich sagt das ja schon alles.
Ein Button hat kein href Attribute, das hat nur ein <a> Element.

Wenn du das href löscht sollte der Fehler weg sein.
Aber dann geht der Button nicht mehr , richtig?

Edit: Obwohl , könnte trotzdem laufen, wenn du das href komplett löschst.
Teste es einfach mal .
 
Zuletzt bearbeitet:
Falls du den Fehler auch beheben willst
Code:
Error: Element div not allowed as child of element button in this context. (Suppressing further errors from this subtree.)
From line 71, column 9; to line 71, column 28
>↩        <div class="middle"></div>
Mach aus dem Button ein anderes Element ( div ,oder so), dann ist Fehler weg und beim schnellen Testen läuft es noch und die CSS läuft auch
 
Lösung
Hallo Basti, hat alles Gut geklappt :)
Vielleicht hast du auch hierfür einen tipp für mich?

Der Nu Validator zeigt mir folgendes an, obwohl die Alt texte vorhanden sind. vielleicht liegt es daran das die Profuktbilder nicht gezeigt werden:

Error: An img element must have an alt attribute, except under certain conditions

source:
  • </div>↩
  • <h3 class="sub_2">HH-CL001</h3>↩
  • <p class="paragraph_2">Farbe: Gelb, Material: Micro-Chenille</p>↩
  • <a href="javascript:void(0)" onclick="document.getElementById('info-popup').toggleAttribute('open')" class="product-button button-no-padding">Produktinformationen</a>↩
  • </div>↩
  • <div class="render-popup" id="popup-image-0-1">↩
  • <button class="close-button" onclick="openRender('popup-image-0-1')">↩
  • <img src="/assets/files/close-icon.svg">
  • </button>↩
  • <img class="img" src="https://hockerhelden.de/images/uploads/localesvolumen/classic-line-hocker-farbe-gelb.jpg"↩
  • alt="Sitzhocker - Sitzwürfel, tragbar in Farbe Gelb" ↩
  • loading="lazy">↩
 
Hallo Basti,
was meinst du genau? Ich habe den Bildern mit seo einen Titel und auch eine Alt text gegeben. Muss ich in dem Html text auch einen Alt text vergeben und ist das dann der gleiche den ich auch in SEO eingegeben habe. Sorry für die schusselige nachfrage. Versuche es gerade zu verstehen..
 
Zurück