Skip to content
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

Remove/deprecate maction element #26

Closed
fred-wang opened this issue Feb 22, 2019 · 12 comments
Closed

Remove/deprecate maction element #26

fred-wang opened this issue Feb 22, 2019 · 12 comments
Labels
compatibility Issues affecting backward compatibility css / html5 Issues related to CSS or HTML5 interoperability MathML Core Issues affecting the MathML Core specification MathML 4 Issues affecting the MathML 4 specification

Comments

@fred-wang
Copy link

Just opening this for the record...

I know that @kohlhase likes this element but I wonder if it is very useful in a modern web context where you can create your own JS effect. Maybe this should just be removed from MathML core and polyfill provided.

@fred-wang fred-wang added MathML Core Issues affecting the MathML Core specification MathML 4 Issues affecting the MathML 4 specification labels Feb 22, 2019
@fred-wang
Copy link
Author

For maction actiontype="input", this is related to @dani31415 's proposal in #12

Other actiontypes like toggle, tooltip or status line could be implemented with JS like what MathJax do, so I'm sure people could write polyfill.

Also note that maction actiontype="statusline" is a small security issue, since it known to be used to deceive people (e.g. to hide a "bad" URL).

@davidcarlisle
Copy link
Collaborator

I don't think it should be deprecated in full mathml, we still need to support MathML in environments without JavaScript (Word Processors being a notable example with current MathML support) but I wouldn't have a problem with dropping it from core, presumably by the time you have specified its interaction with CSS and Javascript you have pretty much specified the required polyfill to go from a full mathml expression with maction, to a mathml core plus javascript polyfill equivalent.

@physikerwelt
Copy link
Member

physikerwelt commented Feb 22, 2019

we still need to support MathML in environments without JavaScript (Word Processors being a notable example with current MathML support)

That is interesting. I would like to learn more about this aspect of MathML. Which WP are you thinking of? Are you aware of any WPs that are actively maintained that use this feature?

@physikerwelt
Copy link
Member

See also #12

@physikerwelt
Copy link
Member

@kohlhase
Copy link

kohlhase commented Mar 7, 2019

Let me add my view (I agree that the current situation is problematic, and am open to any reasonable resolution)

I know that @kohlhase likes this element but I wonder if it is very useful in a modern web context where you can create your own JS effect.

Well I do (see below) and I don't (lots and lots of reasons, including that it is quite under-specified and looks like a solution from the early 2000s).
I mainly see maction as an attempt to make MathML interactive, which should be much more used.

  • <maction> provides a way to storing precomputed "alternative representations" in presentation MathML (the children) which can then be used in many ways (including JS). I agree that the semantics element could also be used instead for this aspect.
  • (see @davidcarlisle's argument) non-JS environments.

@davidcarlisle
Copy link
Collaborator

davidcarlisle commented Mar 7, 2019

I think my preferred solution would be to keep maction in core but defined as to render the first child only, with the rest as if by css display:none

That way there is a hook for moving interaction between web platform and other implementations of mathml.

The full spec could make all actiontypes optional (already the case in mathml3) and can explicitly note that in an implementation of mathml core it is the responsibility of the page to implement any interaction via JavaScript.

probably that would mean deprecating the selection attribute and instead putting the default selection first.

@kohlhase
Copy link

kohlhase commented Mar 7, 2019

this is also what I would prefer.

@fred-wang
Copy link
Author

OK, that makes sense. Just to be more slightly more accurate the proposal would be to:

  • Treat maction as an mrow for layout purpose.
  • Make the default display values of all but the first child display: none (it can be overridden by users via standard CSS).

@davidcarlisle
Copy link
Collaborator

Yes @fred-wang I think that is all core needs here, thanks.

@fred-wang fred-wang added the compatibility Issues affecting backward compatibility label Mar 20, 2019
@fred-wang fred-wang added the need resolution Issues needing resolution at MathML Refresh CG meeting label May 16, 2019
@fred-wang
Copy link
Author

Resolved on 2019/06//03 as in #26 (comment)
Core spec has been updated: https://mathml-refresh.github.io/mathml-core/#enlivening

@fred-wang fred-wang added need implementation update need polyfill Issues requiring implementation changes need specification update Issues requiring specification changes need tests Issues related to writing WPT tests and removed need resolution Issues needing resolution at MathML Refresh CG meeting need specification update Issues requiring specification changes labels Jun 4, 2019
fred-wang added a commit to web-platform-tests/wpt that referenced this issue Sep 17, 2019
… as mrow-like

w3c/mathml#26
w3c/mathml#100

This also checks a bit annotation/annotation-xml and display: math.
fred-wang added a commit to web-platform-tests/wpt that referenced this issue Sep 17, 2019
… as mrow-like (#19118)

w3c/mathml#26
w3c/mathml#100

This also checks a bit annotation/annotation-xml and display: math.
@fred-wang fred-wang added css / html5 Issues related to CSS or HTML5 interoperability and removed need tests Issues related to writing WPT tests labels Sep 17, 2019
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Sep 18, 2019
…emantics elements are treated…, a=testonly

Automatic update from web-platform-tests
Add tests to check that legacy maction/semantics elements are treated as mrow-like (#19118)

w3c/mathml#26
w3c/mathml#100

This also checks a bit annotation/annotation-xml and display: math.
--

wpt-commits: 8b04cca826ffcbfe3f0f101f9824b8fb0003e21d
wpt-pr: 19118
dbaron pushed a commit to dbaron/gecko that referenced this issue Sep 19, 2019
…emantics elements are treated…, a=testonly

Automatic update from web-platform-tests
Add tests to check that legacy maction/semantics elements are treated as mrow-like (#19118)

w3c/mathml#26
w3c/mathml#100

This also checks a bit annotation/annotation-xml and display: math.
--

wpt-commits: 8b04cca826ffcbfe3f0f101f9824b8fb0003e21d
wpt-pr: 19118
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this issue Oct 4, 2019
…emantics elements are treated…, a=testonly

Automatic update from web-platform-tests
Add tests to check that legacy maction/semantics elements are treated as mrow-like (#19118)

w3c/mathml#26
w3c/mathml#100

This also checks a bit annotation/annotation-xml and display: math.
--

wpt-commits: 8b04cca826ffcbfe3f0f101f9824b8fb0003e21d
wpt-pr: 19118

UltraBlame original commit: f218a08f17b082a92dedcc4f88df9f8b619d3a1d
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this issue Oct 4, 2019
…emantics elements are treated…, a=testonly

Automatic update from web-platform-tests
Add tests to check that legacy maction/semantics elements are treated as mrow-like (#19118)

w3c/mathml#26
w3c/mathml#100

This also checks a bit annotation/annotation-xml and display: math.
--

wpt-commits: 8b04cca826ffcbfe3f0f101f9824b8fb0003e21d
wpt-pr: 19118

UltraBlame original commit: f218a08f17b082a92dedcc4f88df9f8b619d3a1d
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this issue Oct 4, 2019
…emantics elements are treated…, a=testonly

Automatic update from web-platform-tests
Add tests to check that legacy maction/semantics elements are treated as mrow-like (#19118)

w3c/mathml#26
w3c/mathml#100

This also checks a bit annotation/annotation-xml and display: math.
--

wpt-commits: 8b04cca826ffcbfe3f0f101f9824b8fb0003e21d
wpt-pr: 19118

UltraBlame original commit: f218a08f17b082a92dedcc4f88df9f8b619d3a1d
@NSoiffer NSoiffer removed the need polyfill Issues requiring implementation changes label May 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compatibility Issues affecting backward compatibility css / html5 Issues related to CSS or HTML5 interoperability MathML Core Issues affecting the MathML Core specification MathML 4 Issues affecting the MathML 4 specification
Projects
None yet
Development

No branches or pull requests

5 participants