プロが教えるわが家の防犯対策術!

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>あげ</title>
<meta name="description" content="">
</head>
<body>

<p><input type="image"></p>

</body>
</html>
------------------------------------------------
↑こちらのソースを
↓下記バリデーションでチェックすると、エラーが出ます。
http://validator.w3.org/

<input type="image"> が原因なのですが、
inputタグに画像を使いたい場合は、CSSで背景を設定するしかないのでしょうか?
よろしくお願いいたします。

A 回答 (2件)

>#1


HTML 4.01のinput要素には必須属性ないよ
============

●システム識別子相当の部分がないことからHTML5として解釈して欲しいのだろう(SGMLでない、って言い切っているので「相当」)
●実験的な機能なので完全ではなく、事実質問文で掲示されたソースを検証しても
Error Line 10, Column 23: Required attributes missing on element input.

<p><input type="image"></p>

Element-specific attributes for element input:
(以下略)

というだけで、どの属性が必須属性なのかについてはちっとも述べてくれず、暴れたくなりました。
仕様書
http://dev.w3.org/html5/spec/Overview.html#image …
を漁ると、

>The image is given by the src attribute. The src attribute must be present, and must contain a valid non-empty URL potentially surrounded by spaces referencing a non-interactive, optionally animated, image resource that is neither paged nor scripted.

>The alt attribute provides the textual label for the alternative button for users and user agents who cannot use the image. The alt attribute must also be present, and must contain a non-empty string.

という記述が見つかるため、src属性とalt属性をとりあえずいい加減に補って検証すると通りました。まぁいい加減なままじゃ困るんですが(笑)。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>あげ</title>
<meta name="description" content="">
</head>
<body><p><input type="image" src="http://cmm001.goo.ne.jp/img/logo/goo.gif" alt="xxx"></p>

</body>
</html>

この回答への補足

丁寧なご意見ありがとうございます。

記載頂いたソースを、下記にて確認してみたのですが、
http://validator.w3.org/

エラーが出てしまいました。
設定とかが違うのでしょうか。。

---
別の実現方法として、cssで背景に画像を適用すればやりたい事は実現しますが、IE8でクリックしたときに背景がずれる現象が出ます。背景がずれる現象もCSSハックで解消出来ますが、IE8だとどうしても背景画像の動きが不安定になってしまう状況です。
ですので、このバリデーションさえ通れば堂々と<input type="image" src="hoge.gif">を使いたいという状況です。

補足日時:2010/04/15 01:27
    • good
    • 0
この回答へのお礼

あ、なんかダブルクォーテーションに見えないゴミがついてました。
このゴミを消してバリデーションかけると通りますね!www
あと、inputタグにaltはOKなんでしょうか?www

何はともあれ、表題の目的は遂げられました。
ありがとうございました。
input + alt に関しては、気になるので引き続き調べますw

お礼日時:2010/04/15 01:34

せっかくエラーチェックして、なぜ聞かれるのかわかりません。


エラーの原因もチェックする限りは表示されるはずです。
Required attributes missing on element input.

17.4 INPUT要素 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
 →type ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
  →17.4.1 INPUT要素で作成するコントロールの形式 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
   
    • good
    • 0
この回答へのお礼

input + altの方ですが、
ご提示のurlに答えがありました。
ありがとうございました。

お礼日時:2010/04/15 01:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!