目次
Google Search Console >ウェブに関する主な指標>ユーザー補助
▲フォームの要素にラベルが関連づけられていません
GtanslateとWPML併用時の対策
次のメッセージが表示される場合の暫定対策方法です。

原因
- エラーの原因は「
role="menuitem"が不正に付いている」こと。 - GTranslate も WPML も、似たように
roleを span 等に付けてしまいます。
暫定対策
WordPress にスニペットを追加
プラグイン「Code Snippets」または子テーマの functions.php に以下を入れます。
<?php
// フッター直前でJSを出力して、GTranslate と WPML の不正ARIAをまとめて修正
add_action('wp_footer', function () { ?>
<script>
(function () {
try {
// すべての menuitem を走査
document.querySelectorAll('[role="menuitem"]').forEach(function (el) {
var inMenu = el.closest('[role="menu"],[role="menubar"]');
var isClickable = el.tagName === 'A' || el.tagName === 'BUTTON';
// 親がmenu/menubarじゃない、または span等クリック不可 → role削除
if (!inMenu || !isClickable) el.removeAttribute('role');
});
// WPML独自の <span class="wpml-ls-native" role="menuitem"> も除去対象
document.querySelectorAll('.wpml-ls-native[role]').forEach(function (el) {
el.removeAttribute('role');
});
} catch (e) {}
})();
</script>
<?php }, 99);キャッシュを削除
- WPキャッシュプラグイン、サーバーキャッシュ、CDN をクリア
- ブラウザでハードリロード(Ctrl+F5)
動作確認
- DevTools → Elements で
.wpml-ls-nativeを確認 →roleが外れている - GTranslate のメニュー要素にも
role="menuitem"が残っていない - Lighthouse/axe のアクセシビリティ警告が消える
注意点
- これは「応急処置」です。
元の出力を変えていないので、将来 WPML/GTranslate のアップデートで role の付与が変わっても問題なし(JSで都度消す)。 - 機能や見た目には影響せず、アクセシビリティ警告だけが消えます。
- 将来的に「WPMLに統一」「GTranslateに統一」などした場合は、このスニペットは不要になります。
コメント