betaNodeが利用しているフリーDDNSサービス大手のddo.jpからメールが……
無料ddo.jpサブドメインDDNSサービス利用の皆様にお知らせ。規約改正したので可能な範囲で広告とか張ってね。 ライブドア検索とか便利だから、使ってね(超意訳)
ということで、日ごろお世話になっているddo.jpさんに感謝の意を込めて指定のフォームサンプルをサーバーのコンテンツ表示用スクリプトに追加してみたが、ちょっとアレげな虫が騒いだのでHTMLの構文チェックをしてみたら……orz
そのまま貼り付けた場合、validationチェックをすると構文に問題があると主張を受ける。XHTML1.0だと以下のような点が挙げられるが、たぶんHTML4.01でもほぼ同様なエラーになるんじゃないかな。
- インライン要素を直接の子要素にもてないform要素が、直接の子要素としてインライン要素であるinput要素をもっている
- img要素のalt属性がない
- onclick 属性を使うときは<meta http-equiv="content-script-type" content="~" />が必要
- inputやimgが閉じてない(XHTMLのみ)
たぶんlivedoorから提示された元のフォームからこうだったんじゃないかなとか勝手な妄想をしたり、商売な人にはHTMLの構文なんか正直どうでもいいんだろうけど、自家サーバー立てるような趣向の人の中にはHTMLにこだわりがあったりする人も結構居るんじゃないかなとか自分がそうだから妄想したり。え~と、どうでもいいですかそうですか。
さらに、コンテンツの利用者によっては、機能的に以下の問題がある。
- スクリプトを処理しないブラウザでは、ボタンを押しても検索できない(enterキーを押せばウェブ検索はできるが、ブログ検索はできない)
- 検索結果の別ウィンドウを開くことを強要する(別ウィンドウを開くことを強要するのはアクセシビリティとして好ましくない。)
- doctypeでxhtml1.0strictを名乗っていると、Firefoxでは両検索ボタン共に機能しない(スクリプトの構文に問題あり?原因不明)
というわけなので、勝手ながら以下のように変えてみた。機能的にはほぼ同じ。実際の利用はクラス属性とか付加してるので少々違ってたりするけど、結果はこのページにもくっついてるので、それをご覧あれ。
<h2><img src="http://livedoorsearch.ddo.jp/img/ld_logo.gif" alt="Powered by livedoor" /></h2> <form method="get" action="http://livedoorsearch.ddo.jp/r1.php"> <p> <input type="hidden" name="k" value="search" /> <input type="hidden" name="ie" value="utf8" /> <input type="hidden" name="ddoid" value="betanode" /> <input type="text" name="q" value="" /> <input type="submit" value="ウェブ検索" /> </p> </form> <form method="get" action="http://livedoorsearch.ddo.jp/r2.php"> <p> <input type="hidden" name="k" value="search" /> <input type="hidden" name="ie" value="utf8" /> <input type="hidden" name="ddoid" value="betanode" /> <input type="text" name="q" value="" /> <input type="submit" value="ブログ検索" /> </p> </form>
最近はセキュリティ対策のためにスクリプトをオフにしてる人も多くいるので、スクリプトは必要性がない場合、使わないようにしたい。さらに、スクリプトが機能しない時に操作できないような仕組みは避けるようにしたい。スクリプトが主体なコンテンツだったら当然スクリプト使いまくりだけどね。
入力欄が複数になってしまってかっこ悪いので、受け入れ側のurlをウェブ検索とブログ検索で統一して、submit要素複数&name属性同一&value属性値で検索機能判別という形にしてくれるとシンプルになっていいんだけどな~。
comment(0)