-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feature] intent-isa attribute #426
Comments
It also just occurs to me that since the values of this attribute will also be NCNames, one could make a case for staying within the single I am not sure if that increases or reduces clarity, but it would certainly make large intent expressions more powerful. I'm also unsure if such extra power is a net benefit or not. Here is the example in question realized via hint:
|
I think something along those lines could be useful. Do you think this could also make a more usable annotation for tables?
where you are needing to copy the row structure into the intent, to preserve the functional form but really I (think) I just want
to give the AT a hint not to read it as an array but otherwise infer the structure from the markup. On the syntax, the
|
How would you do
***@***.***(group)
if you wanted tbe B to be a reference?
|
So the hint variation is getting more attention so far? Interesting! A more careful suggestion on my part would be: Hence, <mrow intent="union:set-operation@infix(B:set,C:set)">
<mi>B</mi><mo>∪</mo><mi>C</mi>
</mrow> However, in a parallel thread Moritz filed a complaint that the intent attribute already seems rather complex to him, so I will also tag along the extra attribute variant, for completeness. Using an attribute somewhat forces the hand of a remediator to annotate as low as possible in the subtrees, so that they have more available nodes on which to attach "-isa" attributes. <mrow>
<mi intent-isa="set">B</mi>
<mo intent-isa="set-operation" intent="union">∪</mo>
<mi intent-isa="set">C</mi>
</mrow> There seem to be trade-offs that make either choice interesting. |
<mtable arg="table"
intent-isa="system-of-equations"> is interesting, but kind of unpredictable?
So the hint is nice (and maybe even nice to speak as an auxiliary piece of information?), but not self-sufficient to recover the fragments into complete material. I think? |
Yes although on the last call (which I think you were not on) we went round in circles again and basically decided to punt on making a "nicer" alternative here at this stage, as no one liked any of the proposed changes (including people making proposals) so I thought I'd at least cross ref to this issue to see if it adds anything to break out of the circle.
Yes exactly. |
I think at one time, @dginev proposed (and prototyped) to use Update (after call today): maybe they serve different purposes with "isa" being concise and meant for software; "aria-description" is likely more verbose and meant for humans. |
In the call today, I mentioned that in MathJax,
Here's the result -- I'm not claiming this is good...
|
I had an action item from last Thursday to try a couple of examples using MathML produced by
Easier case, mathjax generates an
Harder case, no fine-grained
One possible TeX: \begin{vmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22} \\
\end{vmatrix} Here we have to pay attention to the matrix elements, their scripted indexes, and the outer vertical bars that vmatrix renders with.
For this example, one could imagine that omitting the top-level Minor aside: wikipedia claims that "matrix-entry" and "matrix-element" are both used in English practice, so it appears the aliasing considerations would apply to an "isa" attribute as well. These can (and should) be refined as we keep discussing here, but I think they are a good start at seeing the structural challenges when the MathML markup doesn't offer enough tags on which to set attributes. P.S. @NSoiffer - if possible, please also use the "dashed-lowercase" convention for the isa values, as with intent, rather than CamelCases or some other. Thanks! |
Moving a discussion from David's comment in #436.
So, one isa/type take on a matrix annotation would be: <mtable intent="$this:matrix"> ... </mtable> The additional clarity brought by isa is that If instead <mtable intent="matrix($this)">...</mtable> I think that this can bring a well-defined difference in behavior, where |
@dginev I'm still not keen on a pre-declared |
isa now merged with properties |
I want to propose a third intent attribute that solves two needs:
aria-describedby
subject area
.For now I will use a simple example: Imagine a group theory paper, where we have a single letter variable
B
and an expression|B|
where there is an unknown operation via the vertical bars. It is clear to a reader, from the textual context, whether B is a group, or a set. B is meant to be simply read as cap-B, so nointent
annotation is needed. Can we annotateB
in a way where:My proposal is:
AT can use this information to infer:
In addition, an AT user can use an auxiliary keyboard shortcut to request the underlying "set" and "group" annotation, in e-learning applications. This should be very useful in long expressions, where object types may be hard to keep track of.
Why is this needed if we can add intent to the operation mrow?
Technically it isn't - annotating the mrow as usual will do the trick:
It may come down to authoring trade-offs. If a text (or scope of a text - a chapter, a section) uses a variable name consistently, it could be the more intuitive annotation for an author to specify the types of their variables once, as the text begins. Compare that to having to examine every single equation where vertical bars are used, and annotating each individual subexpression.
This is an early idea, and discussion is most welcome - if the direction appears useful the final form of such an attribute may be quite different than the one originally proposed here. I would like to thank Neil for the discussions around "subject area", that helped me crystalize this alternative direction.
The text was updated successfully, but these errors were encountered: