HTML講座 / HTMLのエラーを探して文書を検査する

HTMLの文法は、最新のファイルを保存したうえでNu HTML Checkerなどを使って確認します。ブラウザーが表示を補修することがあるため、画面が見えるだけでは正しさの証明にはなりません。構文の検査とリンク・フォームなどの動作確認を分けて行います。

まず保存した文書を開く

エディターで保存し、意図したファイルをブラウザーで開きます。見出し、段落、画像、フォームが予定した場所へ出るかを見ます。見た目に問題がなくても、DOMが意図と違う構造になっていることがあります。

修正を始める前に元ファイルのコピーを残すと比較しやすくなります。開いている場所と保存場所が違えば、正しい修正も反映されません。まず同じファイルを見ていることを確認してください。

Nu HTML Checkerを使う

Nu HTML Checkerでは公開URL、ファイル、直接入力したコードなどを検査できます。未公開のローカル文書ならファイルか直接入力を使います。秘密情報を含むソースを公開サービスへ送らないようにします。

保存、入力方法の選択、検査、指摘箇所の修正、再保存、再検査の順で進めます。指摘が多い場合は最初のエラーと直前のタグや属性から確認します。引用符の閉じ忘れなどが後の行へ影響し、検出された行が原因そのものではない場合があります。

次は同じIDを二度使った例です。二つ目のidをemail-checkにし、対応するlabelのforも変えます。

<label for="email">Email</label>
<input id="email" name="email" type="email">
<label for="email">Confirm email</label>
<input id="email" name="email_check" type="email">

古いファイルを検査し直さず、保存済みの修正版を使ってください。短い記述が常に誤りではなく、文脈によって終了タグを省略できる要素もあります。構文の基礎はタグ・属性・入れ子で確認できます。

意図的な失敗例と修正例を比較する

次の完全な文書は重複IDを含む失敗用の例です。invalid.htmlに保存して検査し、emailの重複についての指摘を探します。そのまま本番へ使うコードではありません。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Document-validation practice</title>
</head>
<body>
  <h1>Label-validation practice</h1>
  <form method="get">
    <p><label for="email">Email</label>
      <input id="email" name="email" type="email"></p>
    <p><label for="email">Confirm email</label>
      <input id="email" name="email_check" type="email"></p>
    <button type="submit">Inspect entered values</button>
  </form>
</body>
</html>

次をvalid.htmlに保存します。二つ目のIDとラベルの参照先を同時に修正しています。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Document-validation practice</title>
</head>
<body>
  <h1>Label-validation practice</h1>
  <form method="get">
    <p><label for="email">Email</label>
      <input id="email" name="email" type="email"></p>
    <p><label for="email-check">Confirm email</label>
      <input id="email-check" name="email_check" type="email"></p>
    <button type="submit">Inspect entered values</button>
  </form>
</body>
</html>

修正例を検査し、重複IDの指摘が解消したか確認します。各ラベルをクリックし、それぞれ正しい欄へフォーカスするかも比べます。具体的な診断文は検査サービスやファイルの内容で変わる場合があります。構文が直っても、参照先を変え忘れていれば使い勝手の問題は残ります。

文法検査だけで完了とはしない

検査では、リンクが意図した記事へ接続するか、altが適切か、サーバーがフォームを処理するかまでは保証されません。リンク、画像のパス、キーボード、狭い画面での表示も確認します。実践は複数ページサイトの確認で行えます。

ファイル検査はそのファイル、URL検査はサーバーが返す文書を対象にします。WordPressではテーマやプラグインが本文を包むため、原稿の断片と公開ページ全体では結果が違う場合があります。本文の問題と外側の生成HTMLの問題を区別して調べてください。

같은 카테고리의 다른 글
HTML講座 / HTMLアクセシビリティの基本を確認する

HTML講座 / HTMLアクセシビリティの基本を確認する

見出し、リンク、画像、フォームを意味のあるHTMLで作る方法を学びます。スキップリンク、キーボード、フォーカス、ズームを確認する小さなページと、検査の限界も紹介します。

HTML講座 / ol・ul・dlと入れ子のリスト

HTML講座 / ol・ul・dlと入れ子のリスト

順序付きリスト、箇条書き、用語と説明のリストを使い分けます。番号の開始位置や逆順表示、リスト項目の中にサブリストを置く正しい構造も学びます。

HTML講座 / メール・数値・日付・選択肢に合うinputの型

HTML講座 / メール・数値・日付・選択肢に合うinputの型

email、number、date、checkbox、radioの使い分けを学びます。見える入力UIと送信値、初期値と現在値の違いを、フォームデータの確認とともに説明します。

HTML講座 / セマンティック要素でページの領域を分ける

HTML講座 / セマンティック要素でページの領域を分ける

header、nav、main、article、section、aside、footerの役割を学びます。見た目の配置と意味を区別し、複数のナビゲーションを識別する方法も紹介します。

HTML講座 / HTMLとは何か、Webページでの役割を理解する

HTML講座 / HTMLとは何か、Webページでの役割を理解する

HTMLで文書の意味と構造を表す方法を、CSS・JavaScriptとの違いとともに学びます。実際にHTMLファイルを保存して、ブラウザーで確認する手順も紹介します。

HTML講座 / テキストの意味を表すem・strong・引用・コード

HTML講座 / テキストの意味を表すem・strong・引用・コード

emとstrong、qとblockquote、abbr、code、kbdの違いを学びます。太字や斜体という見た目ではなく、文章中の役割に合わせて要素を選ぶ方法を説明します。

HTML講座 / srcset・sizes・pictureでレスポンシブ画像を作る

HTML講座 / srcset・sizes・pictureでレスポンシブ画像を作る

同じ構図の解像度選択と、画面幅に応じた構図変更を区別して学びます。w記述子、ピクセル密度、currentSrcによる確認方法と、キャッシュが比較に与える影響も解説します。

HTML講座 / リンクの作成、相対パスとページ内移動

HTML講座 / リンクの作成、相対パスとページ内移動

aとhrefによるリンク、絶対URLと相対URL、ページ内の移動を学びます。新しいタブ、メール、ダウンロードの条件と、三つのファイルでパスを確認する実習も紹介します。

HTML講座 / textarea・select・option・buttonを使う

HTML講座 / textarea・select・option・buttonを使う

複数行入力、選択メニュー、送信・リセット・通常ボタンを使い分けます。表示ラベルと送信値、初期値と現在値を実際のフォームで比較する方法も紹介します。

HTML講座 / タイトル・説明・言語・文字コードを設定する

HTML講座 / タイトル・説明・言語・文字コードを設定する

title、meta description、charset、viewportとhtmlのlangを整理します。タブと本文の違い、文字化けの調査、検索結果の説明が必ず採用されるわけではない点も学べます。