[Meta] MathML Core related CSS
Nobody has claimed this yet.
- Dominant language
- Bikeshed
- Stars
- 4.9k
- Forks
- 816
- PR merge metrics
- PR metrics pending
Description
After quite a lot of work, the MathML Core L1 spec, implementation work and discussions have yielded a real strong grip on how everything fits together, and it's gone through a TAG review. Since this integration has a lot to do with CSS, we have several proposals for the CSSWG that explain and expose what we feel are the important aspects. Some of these were brought last year, but here I'll make an effort to provide context, clarify and link them all up here in this meta issue so that readers can have and navigate a more complete picture, as this concerned some people before....
Background to understand for these proposals
MathML, not unlike SVG, was created at a time where it was solving problems that would later be solved by CSS. Similar to SVG, and HTML at the time - it chose to solve those problems via attributes. The types/values of these attributes were also kind of under-defined. A lot of the work in defining MathML Core, just as it was for SVG, has been in aligning/mapping those to existing CSS and the larger platform. Many of these attributes in MathML are in wide use and created by tools and editors today, and are already supported in existing browsers. Because of this, you'll note that many of these proposals explain a mapping to something in CSS marked as presentational hints where appropriate and the specification strongly encourages use of corresponding CSS instead (for example mathcolor and mathsize involve no CSS proposals, they are just mappings). In some cases, existing CSS features are not adequate to mathmatical rendering needs, and these are the propsals MathML Core has in terms of some additions to CSS that make it possible.
For mathematical rendering, MathML Core has defined the following necessary minimal values. While their form is pretty maleable, the specific powers they add are important in order to create compatability with widely used features. Some of these are already used internally in implementations, but we have now well-defined them and would like to expose them to authors, increase their interopability and make them standard and well explained. The proposals are outlined and rationales explained separately in simple terms, the spec itself contains many details with links in each.
- 2 new math oriented display values (inline/block versions) - #5385
- several new text transform values - #5386
- 2 new math properties:
- math-style - #5387
- math-shift - #5388
- a new scriptlevel()] function for font-size value allowing management of mathematical 'scripted forms' (subscripts, superscripts, tensors, etc) - #5389
Lots of tests in https://github.com/web-platform-tests/wpt/tree/master/mathml and some noted in other locations in issues (like fonts).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the linked proposals #5385 through #5389 and the MathML tests in the web-platform-tests repository. This meta issue provides context but does not define a standalone change or completion condition; the actionable work is split across those linked issues.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- css
- Domain
- web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100