ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

HTML5 バリデータで修正を指摘される文字と対処方法

スポンサーリンク

HTML5 バリデータを使って、HTMLをチェックしています。
ajya.hatenablog.jp

指摘された内容は、大概はすぐわかるのですが、わからない指摘がありました。
その指摘以外を修正して、改めて指摘内容を確認しました。

指摘のメッセージは、

Text run is not in Unicode Normalization Form C.

です。
検索すると、指摘されている行に含まれている文字によって発生しているようです。

1行の中のどの文字なのか、全ての文字なのかわからなかったので、指摘の確認に、以下のように1文字ずつ確認できるようにしました。

<!DOCTYPE html>
<html lang="ja">
<head>
    <title>Test</title>
</head>
<body>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p>±</p>
    <p>×</p>
    <p>÷</p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
</body>
</html>

この結果、「Å」だけ指摘されました。
Wikipediaで確認したら、Åには、Unicodeでは、U+212Bの他にU+00C5があり、文字参照がそれぞれにあります。
ja.wikipedia.org

UnicodeではU+00C5の「Å」の文字参照の「Å」に置き換えたら、指摘されなくなりました。

<!DOCTYPE html>
<html lang="ja">
<head>
    <title>Test</title>
</head>
<body>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p>&Aring;</p>
    <p></p>
    <p></p>
    <p>±</p>
    <p>×</p>
    <p>÷</p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
</body>
</html>

html
Photo by Florian Olivo on Unsplash

以前の記事では、HTML5のバリデータとして、
rakko.tools

validator.w3.org
では、どちらも同じエラーが表示されると書きました。
今回の内容では、確かにどちらもエラーが表示されました。

別のHTMLで両方試したところ、前者でエラーにならない箇所が、後者でエラーになっていました。
後者を用いる方が、より問題なく記述できるようになるので、後者を今後用います。