HTMLのformってなんであんなに気持ち悪いんだろ(HTML的な意味で)

以前から思ってたんですが、HTMLのformまわりってなんであんなに気持ち悪い感じなんだろ。

  • 何でもinput type="xxx"でやりすぎ。なんでcheckboxとtextが同じinputタグなんだろ。
  • かと思ったらtextareaとかselectとか別のタグで指定するものもあるし。なんで別タグ?
  • selectとradioって「複数の選択肢から一つ選ぶ」っていう意味ではやってる内容自体そんなに大きな違いなくね?なんで違うタグ?

とかいったいろんな中途半端感がどうしても個人的には気持ち悪い。それにこの微妙かつ一貫性のない複雑さがサーバサイドの処理を必要以上に面倒な感じにさせてる気がする。

それに、せっかくCSSとHTMLで見た目と内容を分離するという素晴らしいコンセプトがあるのに、form回りに関してはまったくそれが活きてない気がする。type="radio"とかtype="checkbox"とかって、プレゼンテーション的な部分をHTMLで定義してしまってるように思える。

たとえばiPhoneのマルチタッチみたいに、HTMLをレンダリングできるデバイスの入力方式って今後さらに色々変わってきそうなのもあって、「チェックボックス」とか「ラジオボタン」みたいなマウス操作を前提としたような入力欄をスタンダードなものとして「HTML上で」指定してしまってるっていうのはどうしても気持ち悪い

個人的にはHTML上は「文字とか入力するエリア」「選択肢から選択するエリア」「操作ボタン」くらいのタグに絞って可能な限りシンプルにして、どういう表示にするかは表示デバイスにあわせてスタイルシートとか何かそういうもので指定したいなーとか思ったりするんだけど、こんなこと思ってるの自分だけですかね。