ですから、私は再び哲学的な議論の真っ最中です。
typeテキスト入力だけが必要な場合、 にを指定する必要がありますinputか?
のデフォルトtypeはもちろんtextなので、デフォルト属性を省略すると、目的が達成され、マークアップで 12 バイトが節約されます。
しかし、これには何か問題があると感じずにはいられません。実際のシナリオの 1 つは、Formalizeなどのライブラリを実装することです。明示的な s がない要素には触れませんtype。
私に与えられた代替手段は、 which を使用:not([type])して IE8 サポートを無効にするか、すべての にテキスト入力スタイルを適用してから、 およびテキストボックスのように見えてはならないその他のスタイルをすべてinput元に戻すことです。submitinマークアップを書くだけの方がはるかに簡単な場合、どちらも私には非常に不器用に聞こえますtype。
また、明示的に定義せずにブラウザが最後まであなたの意味を知っていると仮定するのは間違った方法でもあります。たとえば、Windows とともに育った私は、Times New Roman が Web ページのデフォルト フォントだと思っていました。それからUbuntuをインストールしましたが、少年は驚きました。
定義しないのは悪い形typeですか?それを定義しないやむを得ない理由はありますか? type私が言及したもの以外に、デフォルトを指定して依存しないことについて他に懸念事項はありますか? このデフォルトは古いブラウザーでも機能しますか? input特定されていないs のアクセシビリティはどうですか?