
hidden属性を完全解説|基本の使い方や3つのメリット・デメリット・注意点まで徹底解説
hidden属性に興味のある方で、以下のようなお悩みはありませんか?
「hidden属性とは何か知りたい」
「hidden属性の使い方を知りたい」
hidden属性は、ユーザーに表示せずに要素を保持できるHTMLの機能です。フォームでのデータ送信やUIのシンプル化、JavaScriptとの連携など、Web開発において幅広く活用されています。
本記事では、hidden属性の基本的な使い方、メリット・デメリット、使用時の注意点、類似機能との比較までを徹底解説します。hidden属性を正しく活用したい方は、ぜひ最後までご覧ください。
hidden属性を活用したフォーム作成なら、フォーム作成ツール「formrun(フォームラン)」がおすすめです。
「formrun(フォームラン)」には、以下の特徴があります。
フォームをクリックだけの簡単操作で作成
豊富なテンプレート
hidden属性もすでに用意されていて、ほしい情報を選択&設置するだけ
顧客管理・対応を効率化できる
万全のセキュリティ
▼hidden属性を活用できるサービスを探しているなら、ぜひ「formrun(フォームラン)」をお試しください。
目次[非表示]
hidden属性とは?

hidden属性は、Webページに表示されない要素を作成するためのHTMLの機能です。Webサイトを構成するHTMLの要素にこの属性を設定すると、その要素は画面に表示されなくなります。
これは、ユーザーの目には見えないけれど、HTMLのソースコードには存在し続けるため、JavaScriptを使って後から表示したり内容を操作したりできます。
hidden属性には「hidden」「until-found」「空文字列」のいずれかを指定できます。特に「until-found」を指定すると、ページ内検索などでその要素が見つかったときに自動的に表示される便利な機能があります。
ただし、hidden属性は画面から完全に要素を隠すため、視覚支援技術であるスクリーンリーダーからも読み上げられない点には注意が必要です。
hidden属性の基本的な使い方

hidden属性は、HTML要素をユーザーに表示せずに保持したい場合に利用されます。
任意の要素に hidden を指定するだけで、その要素は画面上に表示されなくなります。例えば以下のように記述できます。
<p hidden>この段落は表示されない</p> |
この段落は表示されない
フォームにおいては、ユーザーには見せる必要がないがサーバーに送る必要がある情報(ユーザーIDやセッションIDなど)を保持する際に便利です。また、JavaScriptから element.hidden = true/false を使って、動的に表示・非表示を切り替えることも可能です。
ただし、hidden属性はセキュリティを保証するものではありません。開発者ツールを使えば値を閲覧・改変できるため、サーバー側でのバリデーションが必須となります。
フォームでユーザーに見せないデータを送信する
フォームでは、 <input type="hidden"> を使ってユーザーに非表示のままデータを送信できます。
<input type="hidden" name="user_id" value="12345"> |
このように記述することで、商品IDやセッション情報、トークンなどをユーザーに見せずにサーバーへ送信できます。また、更新フォームでは「どのレコードを更新するか」をサーバーに伝える用途にも活用されます。
さらに、CSRF対策用のトークンを埋め込む際にも利用されることが一般的です。
JavaScriptと連携して表示・非表示を切り替える
hidden属性はJavaScriptと組み合わせることで、動的に制御できます。
<p id="message">このメッセージは切り替え可能です</p> <script> const msg = document.getElementById("message"); msg.hidden = true; // 非表示 msg.hidden = false; // 再表示 </script> |
ユーザー操作に応じてフォーム入力欄や説明文を表示・非表示にすることで、直感的で柔軟なUIを実現できます。また、until-found と組み合わせることで「検索時にのみ表示されるセクション」を作成することも可能です。
さらに、ドロップダウン選択に応じて hidden フィールドの値を更新し、送信時に反映させる実装例も一般的に使われています。
input要素のtype="hidden"との違い

hidden属性と<input type="hidden">は、どちらも要素を非表示にするために使われますが、その役割には大きな違いがあります。
hidden属性はHTMLのあらゆる要素に適用できる「グローバル属性」です。これにより、段落や画像など、どの要素でも画面から隠せます。
一方で、<input type="hidden">はフォーム専用の入力欄です。このinput要素は、ユーザーの画面には表示されず、サーバーにデータを送信する目的で使われます。たとえば、ユーザーIDやセッション情報など、ユーザーに見せる必要はないけれど、フォーム送信時にサーバーに渡したいデータに利用します。
つまり、hidden属性は「要素そのものを表示しない」ための機能であり、<input type="hidden">は「フォームのデータをユーザーに見せずに送信する」ための手段です。
input要素にhidden属性を付けると、見えないテキスト入力欄になります。これは、ユーザーが操作する必要のないUI要素を含める原因にもなりかねません。それぞれの目的を理解して適切に使い分けることが大切です。
hidden属性と似た機能との比較

Webページで要素を非表示にする方法はhidden属性以外にもいくつか存在します。
display:none(CSS)との違い
disabledとreadonlyとの違い
ここでは、特に混同されやすいフォーム関連の属性との違いを解説します。
display:none(CSS)との違い
hidden属性とdisplay:none(CSS)は、どちらも要素を非表示にする機能ですが、仕組みと挙動に違いがあります。
hidden属性はHTMLの属性であり、CSSを使わずに要素を非表示にできるのが特徴です。一方、display:noneはCSSのプロパティで、要素を非表示にし、さらにその要素が占めていたレイアウト上のスペースも完全に消し去ります。
JavaScriptで制御する場合、hidden属性はelement.hidden = true/falseのように簡単に表示・非表示を切り替えられます。対してdisplay:noneはelement.style.display = 'none'のようにCSSのスタイルを操作して制御が必要です。
どちらの方法も、検索エンジンからは基本的に無視される傾向があり、直接的なSEO効果は期待できません。しかし、hidden属性はHTMLのセマンティクス(意味)を保ちつつ非表示にするため、より適切な場面があることを覚えておきましょう。
disabledとreadonlyとの違い
フォーム要素に関連して混同されやすいのが、disabled と readonly です。これらと hidden には明確な違いがあるため、用途に応じて使い分ける必要があります。
これらの属性は、それぞれ異なる目的のために用意されています。ユーザーの利便性やセキュリティを考慮し、場面に応じて適切な属性を選びましょう。
hidden属性の3つのメリット

hidden属性は、Web開発において多くのメリットをもたらします。ここでは、hidden属性を使うことで得られる主要な三つの利点について詳しく解説します。
フォームデータ管理が容易
UIをシンプルにできる
JavaScriptで柔軟に活用できる
フォームデータ管理が容易
<input type="hidden">を利用すると、ユーザーに見せずにサーバーへデータを送信できます。
セッションIDやトークンなど、画面に表示する必要がない値を埋め込むことで、安全かつ効率的に管理できます。ユーザーは入力を意識せずに必要な値を送信できるため、操作の手間が省けます。
また、クライアント側で保持する必要がないため、サーバーとのデータ同期が取りやすい点も大きなメリットです。
UIをシンプルにできる
hidden属性を使うと、ユーザーに不要な情報を非表示にできるため、画面をすっきり見せられます。
DOM内には情報を保持しつつも、表示上はユーザーに余計な項目を見せないため、入力欄が増えすぎることを防げます。
結果として、ユーザーは本当に必要な情報だけを操作でき、ストレスなくフォームを利用可能です。
JavaScriptで柔軟に活用できる
hidden属性はJavaScriptと組み合わせることでさらに活用の幅が広がります。
スクリプトを使って値を取得・更新できるため、フォームデータを動的に制御可能です。ページ遷移を伴わずにデータを一時的に保持し、フォーム送信時にサーバーへ渡せるため、入力補助や状態管理などアプリケーション的な機能にも応用できます。
hidden属性の3つのデメリット

hidden属性は便利な機能ですが、利用する上で注意すべきデメリットも存在します。
セキュリティ的には隠せない(閲覧・改変可能)
過剰使用による可読性・パフォーマンス低下
アクセシビリティへの影響
ここでは、hidden属性を使う際に考慮すべき主な3つの問題点について詳しく解説します。
セキュリティ的には隠せない(閲覧・改変可能)
hidden属性で非表示にした値は、ブラウザの開発者ツールを利用すれば誰でも簡単に確認や変更ができます。そのため、パスワードや認証情報などのセキュリティに関わるデータを保持する目的で使うのは不適切です。
hidden属性は見た目上の非表示にすぎず、権限管理や認証の代替にはなりません。悪意のあるユーザーに書き換えられるリスクがあるため、サーバー側で入力値を必ず検証することが重要です。
過剰使用による可読性・パフォーマンス低下
hidden要素を大量に使うと、HTMLコード内の可読性が下がり、開発者にとって保守しづらい状態になります。
また、DOMに非表示の要素が増えることで、ブラウザがレンダリングや処理に余分なリソースを割くことになり、パフォーマンスにも悪影響を与えます。必要以上にhidden属性を使わず、構造を整理して管理することが大切です。
アクセシビリティへの影響
hidden属性を指定すると、対象の要素はスクリーンリーダーにも読み上げられなくなります。そのため、支援技術を利用するユーザーに情報が届かない可能性があります。
本来伝えるべき情報まで隠してしまうと、ユーザー体験を損なう原因になりかねません。アクセシビリティを考慮し、非表示にすべき情報とそうでない情報を正しく判断して使う必要があります。
hidden属性の使用時の注意点

hidden属性はWeb開発で役立つツールですが、誤った使い方をすると予期せぬ問題を引き起こす可能性があります。
機密情報をhiddenに入れない
サーバーサイドで必ずバリデーションする
デバッグ時に見落とさない
ここでは、hidden属性を使う際に特に注意すべき点を3つ解説します。
機密情報をhiddenに入れない
hidden属性で非表示にした要素は、画面には表示されませんがHTMLソースや開発者ツールを使えば容易に確認できます。
フォームに設定された<input type="hidden">の値も同様で、送信内容を閲覧・改ざんすることが可能です。そのため、パスワードや個人情報などの機密データをhiddenに格納すると、情報漏洩や不正アクセスのリスクが高まります。
hiddenは「見せない」ための仕組みであり、「守る」ための仕組みではないことを理解して使う必要があります。
サーバーサイドで必ずバリデーションする
hiddenに保持した値は、ユーザーが自由に書き換えて送信できるため、信頼できるデータではありません。そのため、サーバー側で必ず入力値を検証し、不正な値を処理しない仕組みを整えることが求められます。
クライアント側のhiddenに依存したロジックは脆弱性の原因となるため、バリデーションや認可チェックは必ずサーバーサイドで実施することが推奨されます。
デバッグ時に見落とさない
hidden属性を持つ要素は画面に表示されないため、デバッグ時に存在を見落としやすい特徴があります。フォーム送信の挙動を確認する際には、hiddenに設定された値が送信データに含まれていることを意識し、開発者ツールやHTMLソースを確認することが重要です。
特に意図しない値がhiddenに含まれている場合、アプリケーションの不具合やセキュリティ上の脆弱性につながる可能性があります。
ユーザーに見せない項目を作成するなら「formrun」がおすすめ!
「見えない項目」を簡単に作成・管理したいなら、「formrun」がおすすめです。
フォーム作成が簡単にできる
顧客管理・対応を効率化できる
万全のセキュリティ
フォーム作成が簡単にできる
非エンジニアでもマウスだけの簡単な操作中心でフォームが作成できるため、フォーム利用までに準備期間が短い場合にも役立ちます。hidden属性もノーコードで実装が可能です。
同じフォーム作成ツールのGoogleフォームと比べてもセキュリティ条件が高く、細かい設定まで機能が豊富となっているため、ビジネス利用目的では、formrunのユーザーのうち7割がGoogleフォームから変更しています。
メールアドレスがあれば無料登録可能!無期限で無料プランが利用できるのでformrunでぜひフォームを作成してみてください。
テンプレートはこちらをご覧ください。
>> テンプレート一覧
顧客管理・対応を効率化できる
formrun(フォームラン)を活用すれば、フォームで集めた顧客の対応管理まで利用できます。
formrunはフォーム作成はもちろん、フォームに回答された顧客データ情報をフォームラン上で一覧管理が可能です。一覧で確認できるだけではなく、対応ステータス別に分けて表示したり、対応する担当者別にフィルタして確認できたりします。
未対応・対応中・対応完了・商品発送済みなど、ステータスは自社が管理しやすいように編集・並び替えできます。蓄積された回答データはExcelやGoogleスプレッドシート形式で出力もできるため、手元で分析も可能です。
さらに、hiddenで保持した流入経路・キャンペーンIDは、回答と自動で紐付けが可能です。担当者アサインやステータス管理、CSV/スプレッドシート出力までformrunで一気通貫運用ができます。
CRM連携やスプレッドシート出力も可能で、データ活用までスムーズです。
万全のセキュリティ
セキュリティが高いのもformrun(フォームラン)の魅力のポイントです。
「ISO 27001 (ISMS)」の認証取得やプライバシーマークの付与認定、SSL/TLSによる暗号化通信、24時間365日のサーバー監視体制など様々な対策がとられています。
フォームは、名前や住所、メールアドレスなど重要な個人情報を取り扱います。ユーザーに安心してフォームを利用してもらうためにも、フォームのセキュリティはとても重要です。
特に、hidden属性はHTMLを確認すれば見えてしまうため「秘匿データ」には不向きです。formrunは、SSL/TLS暗号化・ISMS認証・Pマーク対応で、個人情報も安全に扱えます。
安全なフォーム運用や個人情報の取り扱いは、顧客からの信用に大きく影響するため、セキュリティを重視している方にはformrunの利用がおすすめです。
hidden属性で見えない項目を作成しよう

hidden属性は、ユーザーに見せずにデータを保持でき、フォームのシンプル化やJavaScriptによる動的な表示切り替えなど、Web開発で便利に活用できます。
一方で、hidden属性はセキュリティを保証するものではなく、入力値の改ざんリスクやアクセシビリティへの影響にも注意が必要です。
適切に使い分けることで、UIの改善やデータ管理を効率化できるのがhidden属性の大きな魅力です。
hidden属性を活用したフォーム作成なら、フォーム作成ツール「formrun(フォームラン)」がおすすめです。
「formrun(フォームラン)」には、以下の特徴があります。
フォームをクリックだけの簡単操作で作成
豊富なテンプレート
hidden属性もすでに用意されていて、ほしい情報を選択&設置するだけ
顧客管理・対応を効率化できる
万全のセキュリティ
▼hidden属性を活用できるサービスを探しているなら、ぜひ「formrun(フォームラン)」をお試しください。




