この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:4
ページ更新者:guest
更新日時:2026-06-11 07:07:02

タイトル: output要素
SEOタイトル: HTML output要素 完全ガイド(計算結果の表示 / form属性 / for属性 / JavaScript連動)

この記事の要点
  • 計算結果やユーザー操作の出力を表す HTML5 のフォーム関連要素
  • 主に oninput と組み合わせ、JavaScript で計算した結果を表示する
  • for 属性で計算元の入力フィールドの id を指定(空白区切りで複数可)
  • form 属性で所属する form の id を指定すれば、form の外に置いてもフォーム送信時に値が含まれる
  • スクリーンリーダーは aria-live="polite" 相当として読み上げるため、計算結果のアクセシビリティに優れる

output 要素とは

は HTML5 で導入された計算結果やスクリプトの出力を表現する要素です。 でも結果を表示できますが、意味的に「これは計算結果である」と明示できる点で SEO とアクセシビリティの両方で有利です。

基本構文

+ = 30

属性一覧

属性意味
for計算元の input の id(空白区切り)for="a b"
form所属する form の idform="myform"
nameフォーム送信時の namename="result"

range スライダーと組み合わせる

は単体では現在値が見えないため、 で表示するのが王道パターンです。

50

消費税計算の例


消費税: 100
合計: 1100

JavaScript からの値の設定

の値は value プロパティでも textContent でも書き換えられますが、値としての意味を持たせるなら value を使うのが推奨です。

const out = document.querySelector('output[name="result"]');
out.value = 42;            // HTMLOutputElement#value
// または
out.textContent = '42';    // どの要素でも使える方法

vs

項目
意味計算結果である意味なし(インライン汎用)
aria rolestatus(暗黙)なし
form 連携あり(name で送信値に含む)なし
JS から value で操作不可(textContent のみ)

アクセシビリティ

はデフォルトで aria-live="polite" 相当の挙動を持ちます。値が変化するとスクリーンリーダーが適切なタイミングで読み上げます。計算結果や進捗表示には ではなく を使うことで、視覚障害者にも結果が伝わります。

ブラウザサポート

HTML5 標準で、主要ブラウザ(Chrome / Firefox / Safari / Edge)でいずれも対応済み。IE は非対応ですが、現在はサポート対象外のため気にする必要はありません。

FAQ

Q: oninput と onchange のどちらを使うべき?
A: 入力中のリアルタイム反映には oninput。フォーカスが離れたタイミングで反映したいなら onchange との組み合わせは oninput が一般的です。

Q: は送信されるか?
A: name 属性を持つ FormData に含まれます。ただし通常のフォーム送信(application/x-www-form-urlencoded)では送信されないブラウザもあるため、JS で FormData 経由で扱うのが確実です。

関連

  • form 要素 — フォームの親要素
  • input 要素 — type=range や type=number と組み合わせる
  • progress 要素 — 進捗表示。output より進捗向け
  • meter 要素 — 範囲のある値(ディスク使用量等)の表示