2011-01-12 12 views
0

Ich habe erkannt, dass der Text versteckt ist ein schlechter Versuch, aus einem thread ich gerade gemacht,Semantic HTML Praxis: die Navigationsliste

Als Nebenbemerkung, Google nicht wie verborgener Text, und wenn Sie eine haben viel von es wird es betrügerisch Codierung halten. Eine ist wahrscheinlich in Ordnung, aber Sie wäre besser dran mit dem alt Attribut auf dem Image-Tag.

Aber ich brauche manchmal Bilder für die Navigation Linkliste zu verwenden, wie die unten, so verwende ich CSS-Bild Hintergrund auf <a> Tags und den eigentlichen Text in dem HTML-Code verstecken <span> verwenden,

<div id="header" class="align-center"> 
<ul id="menu-header"> 
    <li id="menu-header-home"><a href="#" class="current-header"><span>Home</span></a></li> 
    <li id="menu-header-portfolio"><a href="#"><span>Portfolio</span></a></li> 
    <li id="menu-header-profile"><a href="#"><span>Profile</span></a></li> 
    <li id="menu-header-newsletter"><a href="#"><span>Newsletter</span></a></li> 
    <li id="menu-header-blog"><a href="#"><span>Blog</span></a></li> 
    <li id="menu-header-shop"><a href="#"><span>Shop</span></a></li> 
</ul>   
</div> 

ist es ernsthaft Mangel an semantischen und "es wird es betrügerische Codierung betrachten." wie ich viele viele versteckte text wegen des ersetzens von text mit bildern verwendet habe?

Was sollte ich stattdessen tun, wenn ich ein Bild für eine Schaltfläche und Bilder für die Navigationslinkliste verwenden muss?

danke.

+0

css text-indent kann verwendet werden, um Text vom Bildschirm zu verschieben. Wird es funktionieren? – rcravens

+0

Ich wusste nie über die Verwendung von Text-Einzug. Ich werde es versuchen. Danke für diese Idee. – laukok

Antwort

0

Ausblenden des Textes bedeutet auch, dass es von einigen Bildschirmlesern verpasst wird.

Ein besserer Weg, dies zu tun, wäre entweder Text-Einrückung zu verwenden, um den Text weg vom Bildschirm zu positionieren, absolute Positionierung auf den Spannen zu verwenden, um sie auch außerhalb des Bildschirms zu positionieren oder sie sichtbar zu machen: versteckt.

+0

danke. kann ich fragen - ist "display: none" gleich "visibility: hidden"? sind sie nicht beide zum verstecken von text ?? – laukok

+0

Sie sind. Ich glaube, ich habe irgendwo gelesen, dass mehr Screenreader die Sichtbarkeit auslesen: versteckt als Display: keine, aber ich bin mir nicht sicher - auf der Suche nach bestimmten Informationen. – sevenseacat

+0

@lauthiamkok - 'display: none;' verbirgt das Element vollständig und der Browser behandelt es, da es nicht da ist, während 'visibility: hidden;' das Element für die Betrachter versteckt, aber der Browser behandelt es so, wie es immer noch da ist. Beispiel: Ein div, das ein 'visibility: hidden;' - Element enthält, hat die gleiche Größe wie das versteckte Element (sofern nicht anders angegeben), während ein div mit einem 'display: none;' -Element 0px x 0px ist (sofern nicht anders angegeben) von CSS) – Tom