HTML<input>タグとその属性を使いこなす!複雑な入力欄要素を解説

HTMLを学んでいると、多くの場面で見かける<input>タグ。画像表示やチェックボックス、日付表示など様々な範囲で使用されています。

inputタグはどんな使い方ができる?

今回は、inputタグの

・基本的な使い方
・inputタグとlabelタグを組み合わせる方法

について説明します。この記事で<input>タグの使い方を、徹底的にマスターしましょう!

inputタグとは

inputタグの読み方

inputタグは「インプットタグ」と読みます。inputは英語で『入力』という意味を表します。

inputタグの説明

inputタグは、Webページのフォーム内で表示される、チェックボックスや入力のためのテキストエリア、送信ボタンなど、フォームの部品を定義するタグです。

inputタグで利用できる属性

inputタグでは以下の属性を使うことができます。

属性 説明
 accept  サーバーが受け取ることのできるファイルの種類を表す属性です。MINEタイプ(文書や画像など)やファイルの拡張子を指定することができます。
 alt  HTML文中のimg要素などが何らかの原因によって表示されなかったときに、その要素の代わりにブラウザに反映される代わりのテキストを指定する属性です。
 autocomplete  要素に入力される内容をブラウザ側で自動補完するのを許可するかどうかを指定する属性です。
 autofocus  ブラウザが読み込みをしたときに、要素に自動でフォーカスをあてるかどうかを決める事ができる属性です。
 capture  ユーザーがカメラやビデオ、音声レコーダーなどのデバイスを用いて要素のキャプチャを許可するための属性です。accept属性と共に用いられます。
 checked  ページ読み込み時に要素にチェックを入れておくかどうかを指定する属性です。
dirname input要素で、入力されるテキストの文字方向を右書き・左書きのどちらかに指定する属性です。
 disabled  ユーザーによる操作を無効にするかどうかを指定する属性です。
 form  input要素が所属するform要素を指定する属性です。
formaction  その要素の送信先を指定する属性で、form要素で定義された送信先を上書きします。
 formmethod  送信ボタンの要素で、送信メソッド(GET, POST)を指定する属性です。method属性で定義された送信メソッドを上書きします。
 formnovalidate  送信ボタンの要素で、送信されるデータの入力状態に関するチェックを行わないようにする属性です。novalidate属性で定義された条件を上書きします。
 height  要素の高さを指定する属性です。
 list  input要素でテキストを入力する際、入力候補としてdatalist要素を割り当てるための属性です。datalistのid属性と紐つきます。
 max  要素の最大値を指定する属性です。
 maxlength  要素の最大文字数を指定する属性です。
 min  要素の最小値を指定する属性です。
 minlength  要素の最小文字数を指定する属性です。
 multiple  複数の値を指定出来るかどうかを定義する属性です。
 name  要素の名前を定義する属性です。
 pattern  input要素で送信されるデータのチェック時に使う正規表現を定義する属性です。
 placeholder  フォームの入力例や入力内容の説明を指定する属性です。
 readonly  入力できる要素を読み取り専用にしてユーザーが入力できないようにする属性です。
 required  入力が必須の要素かどうかを定義する属性です。
 size  要素の幅を指定する属性です。要素のtype 属性がtextもしくはpasswordのときは、文字数を指定します。
 src  画像やスクリプトなど、要素の参照場所を指定する属性です。
 step  input属性で入力可能なデータがいくつおきに変化するのかを指定する属性です。
 type  要素の型を指定する属性です。
 value  その要素で表示する初期値を指定する属性です。
 width  要素の幅を指定する属性です。

inputタグで使用できる型

inputタグではtype属性で以下の型を使用できます。記述方法と表示例は以下の通りです。

See the Pen
dyXQybQ
by rabbittyu (@rabbittyu)
on CodePen.

MEMO
inputの型を指定しない場合の既定値はtextです。

対応ブラウザ

対応ブラウザは以下の通りです。

PC用ブラウザ 対応状況
Chrome 完全対応
Edge 12
Firefox  1
nternet Explorer  完全対応
Opera  完全対応
Safari  1
スマートフォン用ブラウザ 対応状況
Android webview  1
Android版Chrome  完全対応
Android版Firefox  4
Android 版 Opera  完全対応
iOS版Safari  1
Samsung Internet  完全対応

inputタグの基本的な使い方

inputタグの使い方

inputタグで使用できる型にもありましたが、inputタグはtype属性と組み合わせて使われることがほとんどです。

ここではtype属性を利用して、ラジオボタンを利用したアンケートを作成してみました。inputタグの属性でnameを指定しているため、「ア」か「イ」を必ず1つ選択しなければなりません。

See the Pen
input
by rabbittyu (@rabbittyu)
on CodePen.

複数の回答を可能にする、チェックボックスを作成することもできます。ユーザーに好きな季節を訪ね、「春」「夏」「秋」「冬」の中から選択を促します。チェックボックスなので複数選択可能です。

inputタグを使用する場合は<ul>タグと<li>タグでリストを作成し、inputタグごとに<li></li>の中に入れると、扱いやすくなります。その場合は、必ずCSSでlist-style: none;を適用し、先頭の・を削除するようにしてください。

See the Pen
input 2
by rabbittyu (@rabbittyu)
on CodePen.

inputタグの応用的な使い方

Webページを作成する際は、ユーザーにとっての使いやすさを意識しなければなりません。これがユーザビリティとアクセシビリティの向上です。

MEMO
ユーザビリティ:使用性・使いやすさ・使い勝手

アクセシビリティ:近づきやすさ・利用のしやすさ

labelタグを使わない場合は、ラジオボタン本体しかクリックすることができませんが、labelタグを設定することで「女」「男」の選択肢の部分をクリックしても、ラジオボタンに影響を与えるようになりました。

See the Pen
input3
by rabbittyu (@rabbittyu)
on CodePen.

今回はinputタグについてご紹介しました。

  • inputタグはtype属性とセットで使用することが多い
  • inputタグはフォームの部品を作成する
  • ユーザビリティ・アクセシビリティ向上のためにlabelタグと関連付けて使う

この3つのポイントさえ覚えておけば、フォームの中身は作成できます。ですが最後の使いやすさについても意識して作成することで、より良いサイトが作成できるでしょう。

参考文献:
MDN web docks <input>:入力(フォーム入力)要素
ユーザビリティ – Wkipedia
アクセシビリティ – Wikipedia

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?