本文に出てくる用語にはちゃんと下線が出ているのに、同じ語が見出しに書かれているところだけ素通しになっている。用語注釈マネージャーでこれが起きたとき、辞書や検出条件を疑う必要はありません。見出しは、注釈を付けない場所として初めから外してあります。
外してあるのは見出しだけではありません。リンクの中、ボタンの中、コードや整形済みテキストの中も対象外です。ただし見出しとそれ以外では性格がまるで違っていて、設定で戻せるのは見出しのほうだけ。どこが動かせて、どこは動かないのか。そしてなぜそう分けたのかを書きます。
チェックを外しても、リンクとコードには戻ってこない

「コンテンツ注釈 > 設定」の除外ルールには、チェックボックスが4つ並んでいます。リンク内・見出し内・ボタン内・コード内。既定は4つとも入った状態です。
ところが、このうち3つは外しても結果が変わりません。リンク・ボタン・コード・整形済みテキストの内側は、設定より下の層で常に除外されているからです。同じ層にはスクリプト、スタイル、入力欄、テキストエリア、セレクトボックスとその選択肢も入っていて、合わせて10種類のタグの内側では、設定をどう触っても注釈が装飾されることはありません。
並べたチェックボックスのうち3つは押しても効かない。UIとしては歪で、私の目にもいまだに据わりが悪い箇所です。それでも整えずに残したのは、リンクやコードの内側を本当に開けられる設定にするほうが、事故の目が大きいからでした。
外した理由は、場所ごとに違います。
リンクの中。 アンカーの内側は「押すと移動する」という役割ですでに埋まっています。そこへ説明を開く役割を足すと、同じ文字が二つの用事を持つ。押せる要素の中に別の押せる要素を入れ子にするのは、HTMLの組み方としても支援技術の読み上げとしても筋がよくありません。開けられるようにするだけの利点が、ここには見当たらない。
コードと整形済みテキストの中。 ここは1文字も変えてはいけない領域です。空白と改行がそのまま意味を持つ場所に装飾用のタグを挟めば、表示が崩れます。加えて、コードの中の api や map は、用語辞書の見出し語と綴りがぶつかりやすい。
ボタンの中。 ボタンは押すためのもの。ラベルの上に吹き出しが割り込んでも、押す操作の邪魔にしかなりません。
フォーム要素とスクリプトの中。 入力欄の値、選択肢のテキスト、スクリプトやスタイルの中身。ここに手が入れば単純に壊れるので、最初から閉じてあります。
除外は本文を壊さないための仕掛けです。だから「壊れる場所」は、設定で開けられないようにしてある。これが常時側の線引きになります。
見出しだけは、判断の余地がある場所として残してある

残る1つが見出しです。h1 から h6 の内側は既定で対象外ですが、こちらはチェックを外せば本当に外れます。4つのうち押して挙動が変わるのは、この1つだけ。
見出しが常時側ではなく設定側にいるのは、見出しに注釈を付けても何も壊れないからです。段落の文字と同じで、囲んだところで表示は破綻しない。壊れないが、勧めない。禁止ではなく既定オフという中途半端な置き方は、その差から来ています。
見出しの語は、本文の初出を横取りしない
勧めない理由に入る前に、心配されがちな副作用を一つ打ち消しておきます。
同じ用語に注釈が付くのは、各記事の初出の1回だけ。これが既定です。そして見出しに書いた語は、たいてい直後の本文でもう一度出てきます。「特定商取引法とは」という見出しを立てれば、次の段落の書き出しはまた特定商取引法から始まる。ここで「初出の1回を見出しが使ってしまい、本文には回ってこないのでは」と身構えたくなりますが、そうはなりません。
初出として数えるのは、実際に注釈を付けた出現だけだからです。除外された場所での出現は勘定に入りません。見出しに同じ語が何度出てこようと、本文に来て最初の1回が、そのまま初出として扱われる。見出しが素通しなのを見て本文側まで疑う必要はない、と言い換えてもいい。
勧めない理由は別のところにあります。見出しのテキストは本文の外へも回るからです。目次の項目、記事内リンクの飛び先、抜粋。見出しは記事の骨組みを目で追うための行なので、そこに下線とホバー要素を足すと骨組みのほうが読みにくくなる。見出しを読む速さと、吹き出しを開く操作の遅さは、そもそも噛み合っていません。
触ってほしくない箱は、タグではなくセレクタで切る
ここまでは「付かない」側の話でした。逆向きの相談、つまり「この箱にだけは付けないでほしい」のほうは、タグの除外では届きません。CTACall To Action。「お問い合わせ」「資料請求」など、読者に次の行動を促すボタンやリンク、またはその置き場所のこと。のボックス、注意書きの枠、著者プロフィール。中身はどれも普通の段落だからです。
こちらはCSSセレクタで切ります。除外ルールの下に「除外する CSS セレクタ」の欄があり、1行に1つ書く。.cta と1行足せば、そのクラスの内側は自動抽出の装飾から外れます。
既定でも7件が入っています。.wp-block-button .wp-block-buttons .wp-block-embed .wp-block-navigation の4つは、ブロック単位の除外をクラス名で近似したもの。.no-tooltip と .no-annotation は、記事側から「ここは付けないで」と印を付けるための逃げ道です。最後の .cam-glossary は用語集ページ自身で、用語集に並んだ用語名にまた注釈が付く入れ子を防いでいます(用語集ページの作り方は用語集ページを辞書ひとつで自動生成するのほうに)。
書ける形は .クラス #ID タグ名 の単純セレクタだけです。.entry-content > .cta p のような結合子つきや複合セレクタは受け付けません。本文を壊さないための機能で判定を凝りすぎると、外れすぎたときに気づけなくなる。1行に1クラス、と割り切ってください。
もう一点、正直に書いておきます。このセレクタ除外が効くのは自動抽出で装飾される用語のほうで、エディタから手で挿し込んだマークは祖先のタグしか見ません。手動のマークを .no-tooltip の中へ移しても、セレクタでは外れない。
除外を含めた承認前の下ごしらえは全記事一括注釈の下準備のほうにまとめました。
それでも見出しに付けたいときの、ひとつだけの道

用語集寄りの使い方をしていて、どうしても見出しの語に説明を出したい。その場合に残っている手は、実質ひとつです。
設定の除外ルールで「見出し内」のチェックを外し、そのうえでエディタのツールバーにある「注釈」から、見出しの語に手で付ける。自動抽出のほうは、このチェックを外しても見出しを候補に出しません。検出エンジンの側にも見出しを対象から外す既定が別に入っていて、全記事スキャンでも記事編集画面の候補パネルでも同じだからです。つまり「見出し内」のチェックが実際に効いてくるのは、手で付けたマークを装飾するかどうか、その一点。
引き換えは2つあります。ひとつは、手で付けた注釈だと投稿本文に目印のマークが保存されること。全記事スキャンの承認が本文にまったく触れないのとは、別の経路です(本文が書き換わらない仕組み)。見出し1つのために本文へ印を1つ残す取引になるので、サイト全体でどこまで許すかを先に決めておくと迷いません。
もうひとつは、前の節の裏返しです。見出しの出現は初出として数えられないので、見出しに手で付けても、直後の本文の初出には別途そのまま注釈が付きます。同じ説明が数行のあいだに2回顔を出す形になります。片方に寄せたいなら、見出しに付けるのをやめるほうが早い。
除外の既定値は、迷ったら閉じる側へ倒してあります。開けるのは、開ける理由を自分の言葉で言えるときだけで足りる。仕様の全体像は用語注釈マネージャーのページに置いてあります。
