mfencedがMathMLコアに含まれなかった
mfenced要素って?
MathMLのmfenced要素は、とても使い勝手の良い要素でした。
<math>
<mi>sin</mi>
<mo>⁡</mo>
<mfenced>
<mrow>
<mi>a</mi>
<mo></mo>
<mi>x</mi>
<mo>+</mo>
<mi>b</mi>
</mrow>
</mfenced>
</math>
と書くことで
$$
\sin ( ax + b )
$$
と、かっこで囲まれた式を表示できた要素です。
ウェブブラウザがMathMLに対応したものの
2023年初めにChromeを初めとした主要なウェブブラウザがMathMLに対応しました。ただし、mfenced要素はMathMLコアに含まれなかったため、ほとんどのウェブブラウザが対応していません。そして、いち早くMathMLに対応していたFirefoxでも、以前は表示されていたmfencedが最新版では表示されなくなっています。
mo要素による代替表現
mfencedを使った上の式は、mo要素を使って次のように書くことができます。
<math>
<mi>sin</mi>
<mo>⁡</mo>
<mo>(</mo>
<mrow>
<mi>a</mi>
<mo></mo>
<mi>x</mi>
<mo>+</mo>
<mi>b</mi>
</mrow>
<mo>)</mo>
</math>
確かに、mo要素を使っても表現できるので、mfenced要素がMathMLコアに含まれる必要はなかったかもしれません。ただ、使い勝手が良かっただけに筆者としては少し残念です。
今後に期待
MathMLコアは、MathML3からウェブブラウザでの描画方法を分離し詳細に示したものです。現在、MathML4への改訂作業が進められており、mfencedはMathML4に引き続き含まれる見込みですので、ウェブブラウザがMathML4に対応するようになれば、mfencedが表示できるようになるかもしれません。今後に期待したいです。