Re: W3C Validator with HTML in <math>

Hi Neil,

If I'm scanning their code correctly, there is a 2010 rationale for that
decision:
https://github.com/validator/validator/blob/6138b0facb22bcbe28ee86d716f340cd7fb1e723/schema/.drivers/xhtml5-svg-mathml.rnc#L35-L38

Rationale at:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=9859#c8

Likely the validator maintainer needs to be convinced the situation is
changed in 2025 - which may be easier with MathML Core in CR.

Greetings,
Deyan


On Tue, Apr 8, 2025 at 6:37 PM Neil Soiffer <soiffer@alum.mit.edu> wrote:

> Someone told me that the W3C validator refused to accept <input> inside
> of leaf elements. I tried it with both <mi> and <mtext> -- the example
> below uses <mi>. The page seemed to work fine in Chrome and Firefox.
>
> Did I do something wrong? If not, is there anything we can do to get the
> validator fixed?
>
>      Neil
>
>
> ==================
>
> <!DOCTYPE html>
> <html lang="en">
> <head>
> <meta charset="UTF-8">
> <title>Input element in MathML</title>
> <script type="module">
> import { _MathTransforms } from '
> https://github.com/w3c/mathml-polyfills/common/math-transforms.js'
> import 'https://github.com/w3c/mathml-polyfills/menclose.js'
> document.head.appendChild ( _MathTransforms.getCSSStyleSheet() );
>
> window.addEventListener("DOMContentLoaded", () => {
>  _MathTransforms.transform(document.body)
> })
> </script>
> </head>
>
> <body>
> <h1>Input Field in MathML</h1>
> <p>Adding the 'input' element breaks parsing in the W3C validator</p>
> <math display='block'>
>  <mrow>
>   <mn>3</mn><mo>+</mo><mn>4</mn><mo>=</mo>
>   <menclose notation="box"><mi><input type="text" size="2" id="answer"
> name="answer/></mi></menclose>
>  </mrow>
> </math>
> </body>
>
> </html>
>
>
>

Received on Thursday, 10 April 2025 02:08:29 UTC