From cefcc2e37ac0e8ca0e034f3224622a4d33145b5d Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Thu, 10 Oct 2024 14:49:29 +0200 Subject: [PATCH] Readd MathML BCD compat_features --- features/mathml.yml | 119 +++++++++++--- features/mathml.yml.dist | 335 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 431 insertions(+), 23 deletions(-) diff --git a/features/mathml.yml b/features/mathml.yml index e435439320b..c0a447015a3 100644 --- a/features/mathml.yml +++ b/features/mathml.yml @@ -2,26 +2,101 @@ name: MathML description: MathML, or the Mathematical Markup Language, describes mathematical notation, such as expressions and formulas. Also known as MathML Core. spec: https://w3c.github.io/mathml-core/ caniuse: mathml -# MathML has evolved for more than 20 years and computing its status from BCD is -# challenging. To represent basic support for MathML, the following statuses -# match the earliest support claimed by caniuse.com or BCD: -# https://caniuse.com/mathml -# https://developer.mozilla.org/en-US/docs/Web/MathML/Element/math -# -# Note that there are minor disagreements between sources about initial support -# in different browsers. Where either source claims partial support, the -# versions were increased. Following this method, Firefox was increased due to -# BCD, and Safari due to caniuse.com. -# -# TODO: Partial support in Firefox <4 and Safari <10, with notes. status: - baseline: low - baseline_low_date: 2023-01-12 - support: - chrome: "109" - chrome_android: "109" - edge: "109" - firefox: "4" - firefox_android: "4" - safari: "10" - safari_ios: "10" + compute_from: mathml.elements.math +compat_features: + - mathml.attribute_values.named_space + - mathml.attribute_values.nonzero_unitless_values + - mathml.elements.annotation + - mathml.elements.annotation-xml + - mathml.elements.math + - mathml.elements.math.display + - mathml.elements.menclose + - mathml.elements.menclose.notation + - mathml.elements.menclose.notation.actuarial + - mathml.elements.menclose.notation.bottom + - mathml.elements.menclose.notation.box + - mathml.elements.menclose.notation.circle + - mathml.elements.menclose.notation.downdiagonalstrike + - mathml.elements.menclose.notation.horizontalstrike + - mathml.elements.menclose.notation.left + - mathml.elements.menclose.notation.longdiv + - mathml.elements.menclose.notation.madruwb + - mathml.elements.menclose.notation.phasorangle + - mathml.elements.menclose.notation.right + - mathml.elements.menclose.notation.roundedbox + - mathml.elements.menclose.notation.top + - mathml.elements.menclose.notation.updiagonalarrow + - mathml.elements.menclose.notation.updiagonalstrike + - mathml.elements.menclose.notation.verticalstrike + - mathml.elements.merror + - mathml.elements.mfrac + - mathml.elements.mfrac.linethickness + - mathml.elements.mi + - mathml.elements.mi.mathvariant + - mathml.elements.mmultiscripts + - mathml.elements.mn + - mathml.elements.mo + - mathml.elements.mo.accent + - mathml.elements.mo.form + - mathml.elements.mo.largeop + - mathml.elements.mo.lspace + - mathml.elements.mo.maxsize + - mathml.elements.mo.minsize + - mathml.elements.mo.movablelimits + - mathml.elements.mo.rspace + - mathml.elements.mo.stretchy + - mathml.elements.mo.symmetric + - mathml.elements.mover + - mathml.elements.mover.accent + - mathml.elements.mpadded + - mathml.elements.mpadded.depth + - mathml.elements.mpadded.height + - mathml.elements.mpadded.lspace + - mathml.elements.mpadded.relative_values + - mathml.elements.mpadded.voffset + - mathml.elements.mpadded.width + - mathml.elements.mphantom + - mathml.elements.mprescripts + - mathml.elements.mroot + - mathml.elements.mrow + - mathml.elements.ms + - mathml.elements.mspace + - mathml.elements.mspace.depth + - mathml.elements.mspace.height + - mathml.elements.mspace.width + - mathml.elements.msqrt + - mathml.elements.mstyle + - mathml.elements.msub + - mathml.elements.msubsup + - mathml.elements.msup + - mathml.elements.mtable + - mathml.elements.mtable.align + - mathml.elements.mtable.columnalign + - mathml.elements.mtable.columnlines + - mathml.elements.mtable.columnspacing + - mathml.elements.mtable.frame + - mathml.elements.mtable.framespacing + - mathml.elements.mtable.rowalign + - mathml.elements.mtable.rowlines + - mathml.elements.mtable.rowspacing + - mathml.elements.mtable.width + - mathml.elements.mtd + - mathml.elements.mtd.columnalign + - mathml.elements.mtd.columnspan + - mathml.elements.mtd.rowalign + - mathml.elements.mtd.rowspan + - mathml.elements.mtext + - mathml.elements.mtr + - mathml.elements.mtr.columnalign + - mathml.elements.mtr.rowalign + - mathml.elements.munder + - mathml.elements.munder.accentunder + - mathml.elements.munderover + - mathml.elements.munderover.accent + - mathml.elements.munderover.accentunder + - mathml.elements.semantics + - mathml.global_attributes.dir + - mathml.global_attributes.displaystyle + - mathml.global_attributes.href + - mathml.global_attributes.scriptlevel diff --git a/features/mathml.yml.dist b/features/mathml.yml.dist index c6164c34219..81ac644bf5f 100644 --- a/features/mathml.yml.dist +++ b/features/mathml.yml.dist @@ -1,4 +1,337 @@ # Generated from: mathml.yml # Do not edit this file by hand. Edit the source file instead! -{} +status: + baseline: low + baseline_low_date: 2023-01-12 + support: + chrome: "109" + chrome_android: "109" + edge: "109" + firefox: "4" + firefox_android: "4" + safari: "5.1" + safari_ios: "5" +compat_features: + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "1" + # firefox_android: "4" + # safari: "5" + # safari_ios: "4.2" + - mathml.elements.annotation + - mathml.elements.annotation-xml + - mathml.elements.mo + - mathml.elements.mo.stretchy + - mathml.elements.semantics + + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "1" + # firefox_android: "4" + # safari: "5.1" + # safari_ios: "5" + - mathml.elements.mfrac + - mathml.elements.msqrt + - mathml.elements.mtable + - mathml.elements.mtd + - mathml.elements.mtr + - mathml.elements.munder + + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "1" + # firefox_android: "4" + # safari: "6" + # safari_ios: "6" + - mathml.elements.merror + - mathml.elements.mi + - mathml.elements.mmultiscripts + - mathml.elements.mn + - mathml.elements.mover + - mathml.elements.mpadded + - mathml.elements.mphantom + - mathml.elements.mprescripts + - mathml.elements.mroot + - mathml.elements.mrow + - mathml.elements.msub + - mathml.elements.msubsup + - mathml.elements.msup + - mathml.elements.mtext + - mathml.elements.munderover + + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "1" + # firefox_android: "4" + # safari: "7" + # safari_ios: "7" + - mathml.elements.mspace + - mathml.elements.mspace.depth + - mathml.elements.mspace.height + - mathml.elements.mspace.width + + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "1" + # firefox_android: "4" + # safari: "8" + # safari_ios: "8" + - mathml.elements.mo.form + - mathml.elements.mo.largeop + - mathml.elements.mo.lspace + - mathml.elements.mo.maxsize + - mathml.elements.mo.minsize + - mathml.elements.mo.rspace + - mathml.elements.mo.symmetric + + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "1" + # firefox_android: "4" + # safari: "9" + # safari_ios: "9" + - mathml.elements.mfrac.linethickness + - mathml.elements.ms + + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "1" + # firefox_android: "4" + # safari: "10" + # safari_ios: "10" + - mathml.elements.mo.movablelimits + - mathml.elements.mover.accent + - mathml.elements.mpadded.depth + - mathml.elements.mpadded.height + - mathml.elements.mpadded.lspace + - mathml.elements.mpadded.width + - mathml.elements.munder.accentunder + - mathml.elements.munderover.accent + - mathml.elements.munderover.accentunder + + # ⬇️ Same status as overall feature ⬇️ + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "4" + # firefox_android: "4" + # safari: "5.1" + # safari_ios: "5" + - mathml.elements.math + - mathml.elements.math.display + + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "6" + # firefox_android: "6" + # safari: "5.1" + # safari_ios: "5" + - mathml.elements.mstyle + + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "7" + # firefox_android: "7" + # safari: "10" + # safari_ios: "10" + - mathml.elements.mpadded.voffset + + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "70" + # firefox_android: "79" + # safari: "8" + # safari_ios: "8" + - mathml.global_attributes.dir + + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "70" + # firefox_android: "79" + # safari: "10" + # safari_ios: "10" + - mathml.elements.mi.mathvariant + + # baseline: low + # baseline_low_date: 2023-01-12 + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "83" + # firefox_android: "83" + # safari: "14" + # safari_ios: "14" + - mathml.global_attributes.displaystyle + + # baseline: low + # baseline_low_date: 2023-09-15 + # support: + # chrome: "117" + # chrome_android: "117" + # edge: "117" + # firefox: "1" + # firefox_android: "4" + # safari: "5.1" + # safari_ios: "5" + - mathml.elements.mtd.columnspan + - mathml.elements.mtd.rowspan + + # baseline: false + # support: + # chrome: "109" + # chrome_android: "109" + # edge: "109" + # firefox: "70" + # firefox_android: "79" + - mathml.global_attributes.scriptlevel + + # baseline: false + # support: + # firefox: "1" + # firefox_android: "4" + # safari: "5.1" + # safari_ios: "5" + - mathml.elements.mtable.columnalign + - mathml.elements.mtable.columnlines + - mathml.elements.mtable.frame + - mathml.elements.mtable.rowalign + - mathml.elements.mtable.rowlines + - mathml.elements.mtd.columnalign + - mathml.elements.mtd.rowalign + - mathml.elements.mtr.columnalign + - mathml.elements.mtr.rowalign + + # baseline: false + # support: + # firefox: "1" + # firefox_android: "4" + # safari: "7" + # safari_ios: "7" + - mathml.elements.menclose + - mathml.elements.menclose.notation + - mathml.elements.menclose.notation.actuarial + - mathml.elements.menclose.notation.bottom + - mathml.elements.menclose.notation.box + - mathml.elements.menclose.notation.circle + - mathml.elements.menclose.notation.downdiagonalstrike + - mathml.elements.menclose.notation.horizontalstrike + - mathml.elements.menclose.notation.left + - mathml.elements.menclose.notation.longdiv + - mathml.elements.menclose.notation.right + - mathml.elements.menclose.notation.roundedbox + - mathml.elements.menclose.notation.top + - mathml.elements.menclose.notation.updiagonalstrike + - mathml.elements.menclose.notation.verticalstrike + + # baseline: false + # support: + # firefox: "1" + # firefox_android: "4" + # safari: "10" + # safari_ios: "10" + - mathml.attribute_values.named_space + - mathml.elements.mo.accent + + # baseline: false + # support: + # firefox: "2" + # firefox_android: "4" + # safari: "7" + # safari_ios: "7" + - mathml.elements.menclose.notation.madruwb + + # baseline: false + # support: + # firefox: "7" + # firefox_android: "7" + # safari: "10" + # safari_ios: "10" + - mathml.global_attributes.href + + # baseline: false + # support: + # firefox: "1" + # firefox_android: "4" + - mathml.elements.mpadded.relative_values + - mathml.elements.mtable.align + + # baseline: false + # support: + # safari: "10" + # safari_ios: "10" + - mathml.attribute_values.nonzero_unitless_values + + # baseline: false + # support: + # firefox: "13" + # firefox_android: "14" + - mathml.elements.mtable.width + + # baseline: false + # support: + # firefox: "24" + # firefox_android: "24" + - mathml.elements.menclose.notation.updiagonalarrow + + # baseline: false + # support: + # firefox: "32" + # firefox_android: "32" + - mathml.elements.menclose.notation.phasorangle + + # baseline: false + # support: + # firefox: "33" + # firefox_android: "33" + - mathml.elements.mtable.columnspacing + - mathml.elements.mtable.framespacing + - mathml.elements.mtable.rowspacing