改良してみたので、こっちを使うことをお勧めします。
このブログ、Another HTML-lint gatewayで、100点を目指し、なんとか達成したのですが、トップページだけで記事のページは最高でも99点です。
原因はコレです。
<INPUT type="text"> や <TEXTAREA> には、何か初期値となるようなテキストをあらかじめ書いておくことがWAIで薦められています。その理由に、空だと正しく処理できないWWWブラウザの可能性が示されています。
要するに、コメントなどのテキストボックスなどに、初期値のテキストを指定すれば良いとのことです。しかし、コメントはデフォルトで空なのがベストだと思います。
言葉では説明しにくいのですが、こんな感じにしてみました。
ちょっとは需要がありそうなネタだと思ったので、作ってみたJavaScriptを公開します。学校の7時限目に脳内で作ったのを、パソコンに書き写した拙速なものですが、簡潔なのでバグとかは無いんじゃないかと思います。
function setupTextareaDes() {
// 種付け作業
var textareas = document.getElementsByTagName("textarea");
for (i = 0; i < textareas.length; i++) {
if (textareas[i].className != "nodes") {
textareas[i].onfocus = function (event) { return TextareaDes(this); };
}
}
return;
}
function TextareaDes(from) {
from.className = "nodes";
from.value = "";
from.onfocus = function (event) {};// これ以降呼び出されないように、自殺。
return;
}
眠いので詳しい説明は省きますが、このプログラムを使える状態にしておきます。
<body onload="setupTextareaDes();">
<body>の中に、こんな感じに太字部分を書き足します。
textarea {color: #999;}// 説明の装飾; textarea.nodes {color: #000;}// 通常の装飾;
これを、CSSに書き足します。
準備完了です。↓のようなソースを書くと、
<form action="dummy">
<textarea rows="1" cols="1">この部分が説明となります。</textarea>
</form>
↓のようになります。
このプログラムを適応しないようにするのも簡単です。
<form action="dummy">
<textarea class="nodes" rows="1" cols="1">本来のように、初期のテキストとして使えるようになります。</textarea>
</form>