screen-reader-textクラスについて

UnderscoresをベースにBootstrapを使ってWordPressテーマを作成している時に思ったことです。

UnderscoresのCSSで定義されている.screen-reader-textは、スクリーンリーダーに必要なテキストをスタイリングするためのクラスですが、これはBootstrapで定義されている.sr-onlyと重複します。

_s/sass/modules/_accessibility.scss#L2

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

bootstrap/less/.less#L125

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

Underscoresはフルスクラッチで改造して使うスターターテーマなので、_sの.screen-reader-textの該当部分を削除し、Bootstrapの.sr-onlyのみを採用しようと考えましたのですが、WordPressのコアが.screen-reader-textを吐き出す場合があり、これはできませんでした。

wp-includes/link-template.php#L2553 get_the_posts_navigation()

...
$template = '
  <nav class="navigation %1$s">
  <h2 class="screen-reader-text">%2$s</h2>
  <div class="nav-links">%3$s</div>
';
...

get_the_posts_navigation以外にもきっとあるはず。この出力テンプレート文字列へのフィルターフックnavigation_markup_templateは存在しますが、外側のnav要素のクラスをフィルター関数のオプション引数に取るのみで、screen-reader-textが適用されるh2要素のクラス属性を直接操作することはできません。
スクリーンリーダーに対応したテーマを作成する場合、現在のところ、デフォルトのクラス名screen-reader-textの置き換えや他のクラスの追加はできないことが分かりました。