Le code suivant fonctionne très bien dans IE, FF, Chrome et Safari, mais je me demande à quel point il est efficace lorsqu'il est mis à l'échelle pour beaucoup d'utilisateurs et s'il est accessible aux lecteurs d'écran/utilisateurs spéciaux/etc. Plus précisément, existe-t-il un meilleur moyen d'écrire le jQuery pour qu'il utilise moins de $ (this) références, et est-ce que cela cause même des problèmes de performance? De même, le fait de ne pas afficher les étiquettes sur les étiquettes limite-t-il l'accessibilité aux personnes utilisant des lecteurs d'écran? J'ajoute dans l'attribut title quand la page est chargée dans ce but, mais cela aide-t-il/est-ce une bonne idée? Aussi, je suis conscient que si javascript est désactivé tout cela serait inutile, mais je me demandais juste ici.Problèmes de performance/accessibilité dans ce code jQuery/HTML?
<html>
<head>
<title></title>
<style type="text/css">
fieldset {
border: none;
padding: 10px;
width: 600px;
margin-top: 5px;
}
label {
display: none;
}
input {
width: 150px;
margin: 5px;
float: left;
display: block;
}
br {
clear: both;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
GetInputLabels();
$("input").focus(function() {
if ($(this).val() == $(this).prev("label").text()) {
$(this).val('').css("color", "#000");
}
});
$("input").blur(function() {
if ($(this).val() == '') {
$(this).val($(this).prev("label").text()).css("color", "#bbb");
}
});
function GetInputLabels() {
$("input").each(function() {
var label = $(this).prev("label").text();
$(this).val(label).css("color", "#bbb").attr("title", label);
});
}
});
</script>
</head>
<body>
<form>
<fieldset>
<label for="fname">First Name</label>
<input id="fname" type="text" /> <br/>
<label for="lname">Last Name</label>
<input id="lname" type="text" /> <br/>
<label for="email">Email</label>
<input id="email" type="text" /> <br/>
</fieldset>
</form>
</body>
</html>
Ces réponses fonctionnent pour moi. Merci a tous. – ryanulit