Minutes: MathML General Meeting of August 6, 2019

 Notes are a bit short (it was a group effort); listen to the recording
<https://benetech.zoom.us/recording/share/O1dfGYqLIHx1ik-rP5AYfzC6Oqm-iKj6aos-PweoVuuwIumekTziMw>
to get more details. Next meeting is Tuesday, 10 Sept after summer holidays.
Attendees:

Neil Soiffer

Murray Sargent

Steve Noble

David Farmer

David Carlise


Brief status report on core working group's progress

Last few meetings touched on things that aren’t necessarily core:

   -

   vertical writing modes (#18
   <https://github.com/mathml-refresh/mathml/issues/18>)
   -

   negative spacing that causes elements to overlap (#52
   <https://github.com/mathml-refresh/mathml/issues/52>)

Indicating where insertion cursor or selection is (from Murray Sargent's
blog post
<https://blogs.msdn.microsoft.com/murrays/2017/03/19/editing-math-using-mathml-for-speech/>
)

MS: Post uses maction. Other idea is to use selection start/end

NS: Yes, I suggested data-xxx attr

MS: When they are identical, it is an insertion.

NS: To select, in a token, just an offset.

MS: Will try this in some code at MS

NS: Not sure if the attributes want to be on parent or on children. My
first guess is that you want to put it on the children.

NS: Beware mfenced -- some of the displayed children are attributes.
Continue discussion -- adding some semantic info to presentation MathML (#64
<https://github.com/mathml-refresh/mathml/issues/64>, #68
<https://github.com/mathml-refresh/mathml/issues/68>, #79
<https://github.com/mathml-refresh/mathml/issues/79>, #80
<https://github.com/mathml-refresh/mathml/issues/80>, #84
<https://github.com/mathml-refresh/mathml/issues/84>, #93
<https://github.com/mathml-refresh/mathml/issues/93>, ???)

NS: review of proposals

DF: MathJax takes TeX, builds MathML, and guesses semantics.

NS: Latest MJ preserves TeX name to help with guessing semantics

DF: Need to write semantic LaTeX, something we are coming up with

DF: If you write f(something large) it gets typeset wrong (as
multiplication)

NS: Are you thinking of creating content MathML?

DF: No, want to create semantic tree in MathJax.

MS: Have you written anything up

DF: Partially, but I need to finish it up

DF: There is a “right” way to write TeX that makes semantics (and some
presentation ) better.

DF: The way I approach it, “^” means superscript but want semantics. If
after an integral, it is an upper limit

NS: That’s an easy case and most AT will get it right. What about k(n)

DF: matrix transpose is a better example. For function call, people in TeX
would write “k (n)” [with a space] for multiplication or “k(n)” functional
call

MS: Unicode can distinguish the two

DC: TeX authors do horrible things. I think the focus should be on MathML
and providing a way for converters to target something.

NS&DC: Our job is to figure out how you can preserve the semantics
throughout the entire path from semantic markup, through mathml, to a
screen reader that correctly pronounces the contents.

Action:  DF provide a description of his ideas on semantic LaTeX markup.

NS:  Is the semantics on “matrix transpose” on the msup, or in the content
of msup?

MS: It should be on the msup. It is describing what the superscript means.

NS:  For f^{(n)}, nth derivative, how you distinguish from f applied n
times?

NS:  For \frac{d}{dx}, is the markup on the mfrac, because it is not really
a fraction?

MS: Maybe used Unicode’s differential D

ACTION: NS to look for cases where putting semantics on the parent element
might not make sense.

NS: Are you nailing down all the possible macros or are you doing a meta
macros that allows authors to create those semantic macros.

DF: TeX authors do all sort of garbage. But textbook authors are different
in that write material that is similar. I have a way to convert what
authors writes to more verbose macros.

NS: So you have a fixed set of transformations?

DF: For any subject, there aren’t that many meanings. I did a proof of
concept for Calculus and it was 100% correct. After the transformation, no
more heuristics. There aren’t that many things i Calculus.

NS: I’ve had a hypothesis for years that if we just add on the <math>
element we say role=”calculus”, that’s enough. We then write down what all
the rules are for each topic area.

NS: There a tension that is still present though -- who’s responsible for
inferring those semantics. We could say that is what every TeX translator
should do, what every editor that produces MathML should, do, etc.

NS: Alternatively, you could say that the inference properly belongs with
the tool that wants to use the semantic info. In some sense, the AT can’t
trust that every translator or editor will add the info, so it needs to
have the rules anyway. Volker Sorge (SRE author) and I agreed that we can’t
trust the MathML to have that info; as it is, we often have to clean up the
MathML because of bad authoring. If the info is there, great, but we have
to accept it won’t be there almost all the time. In this later scenario, it
would be great to have a library that everyone can use to do the inference.
Probably utopian thinking though.

NS: A long digression, but the basics are that I’m happy to see you came to
the same conclusion about subject area telling us most of what we need to
know to resolve ambiguity.

DF: Actually, I got that idea from you.

DF: Combinatorics is another area. Cardinality and absolute value are an
example of using the same notation in the same subject area.

DF: At a pretext workshop, I wrote ‘|A|<=’ and asked people to pronounce it
and they couldn’t because they lacked context. I completed it to be
‘|A|<=|A| U |B|’ and then they knew it was cardinality. The community very
much is in favor of doing the work so their textbooks get read
appropriately by screen readers.

DF: difficult to tell from local info

NS: Tools will always need to apply heuristics when the input is not
semantic.

DF: I just want to make sure I can put that info into the MathML.

NS: It would be good to collect more examples of ambiguity, especially when
the subject area is known.

SN: We can do better for those authors that provide good input.

NS: Garbage in, maybe garbage out.  Good stuff in, good stuff out.

SN: There really needs to be a way to collect best practices around the
spec.

NS: I agree, but who’s going to write it?

SN: Here at Pearson, that’s import because we want to produce good
documents that are read properly by AT.


Next meeting Tuesday, 10 Sept

Received on Thursday, 8 August 2019 18:24:48 UTC