Gunnar Bittersmann: Probleme mit IE – 'mal wieder

Beitrag lesen

@@dieselross:

nuqneH

<div id="anmeldung" style="display: none">

  
Das Element wird mit JavaScript sichtbar gemacht? Dann sollte es auch nur versteckt werden, wenn JavaScript ausgeführt wird, da andernfalls das Formular unbedienbar ist.  
  
Also weg mit 'style="display: none"', stattdessen mit JavaScript dem html-Element eine Klasse "js" gehen (Modernizr tut das) und im Stylesheet nnottieren  
`.js #anmeldung {display: none}`{:.language-css}  
  
  

> ~~~html

		<table id="anmeldetabelle">  

> 			<tr>  
> 				<td class="label">  
> 					Benutzername  
> 				</td>

Label solltest du unbedingt als label auszeichnen, um die Zuordnung du den Eingabefeldern anzugeben. Das ermöglicht die Fokussierung des Eingabefeldes durch Anclicken des Labels, besonders wichtig bei Radiobuttons und Checkboxen. Für Nutzer assistiver Techniken wie Screenreader wäre ohne diese Auszeichnung im Markup kein Bezug zwischen Label und Eingabefeld vorhanden, das Formular wäre unbedienbar.

		</tr>  
  	<tr>  
  		<td class="eingabefeld">  
  		        <input type="text" size="10" maxlength="10" name="benutzereingabe"/>  
  		</td>
  
Eine Spalte macht noch keine Tabelle. Du missbrauchst hier table, tr, td – warum eigentlich?  
  
Wenn du Label und Eingabefeld nebeneinander haben willst, könnte eine  
  
Tabelle angebracht sein; dann aber zusammengehörige Labels und Eingabefelder in einer Tabellenzeile, d.h. im selben tr-Element. Die Labels wären dann Kopfzellen: th, nicht td.  
  
Aber vielleicht willst du zusammengehörige Label und Eingabefelder einfach mit div oder span gruppieren.  
  
Qapla'

-- 
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)