w3c / w3c/mathml

Add an ":ordinal" and ":over" property for speaking fractions and maybe add other properties?

Open
#538 6 comments 0 reactions 1 assignee View on GitHub

@NSoiffer is already working on this.

Since May 31, 2026.

intent
Dominant language
HTML
Stars
82
Forks
23
PR merge metrics
No merged PRs in 30d

Description

One of the ways you can speak a common fraction is as an ordinal. For example "2 thirds". MathCAT has rules as to when to do this (numerator less than 10 and denominator between 2 and 20).

ClearSpeak has a number of preferences that were designed for authors to control speech. "Ordinal" and "Over" are two of them for fractions. For elementary math, something like $\frac35 + \frac{1}{10}$ is likely better read as "three over five plus 1 over 10" then hearing "fifths" and "tenths". Allowing the author to state this seems good.

At the moment, we don't have a core concept for this other than the generic "fraction" concept. To me, these two seem like properties.

There are maybe other properties (or concepts) that people think should be added. For people's benefits, below are all the ClearSpeak preferences (copied from MathCAT). The default value ("Auto") follows the name, and the alternative values are listed in the comments (after the #).

      CapitalLetters: Auto      # SayCaps or use pitch
      AbsoluteValue: Auto       # AbsEnd, Cardinality, Determinant
      Fractions: Auto           # Ordinal, Over, FracOver, General, EndFrac, GeneralEndFrac, OverEndFrac, Per
      Exponents: Auto           # Ordinal, OrdinalPower, AfterPower
      Roots: Auto               # PosNegSqRoot, RootEnd, PosNegSqRootEnd
      Functions: Auto           # None
      Trig: Auto                # TrigInverse, ArcTrig
      Log: Auto                 # LnAsNaturalLog 
      ImpliedTimes: Auto        # MoreImpliedTimes , None
      Paren: Auto               # Speak, SpeakNestingLevel, Silent, CoordPoint, Interval
      Matrix: Auto              # SpeakColNum, SilentColNum, EndMatrix, Vector, EndVector, Combinatorics
      MultiLineLabel: Auto      # Case, Constraint, Equation, Line, None, Row, Step 
      MultiLineOverview: Auto   # None, 
      MultiLinePausesBetweenColumns: Short  # Long
      Sets: Auto                # woAll, SilentBracket
      MultSymbolX: Auto         # By, Cross
      MultSymbolDot: Auto       # Dot
      TriangleSymbol: Auto      # Delta
      Ellipses: Auto            # AndSoOn, 
      VerticalLine: Auto        # SuchThat, Divides, Given
      SetMemberSymbol: Auto     # Belongs, Element, Member
      Prime: Auto               # Angle, Length
      CombinationPermutation: Auto  # ChoosePermute
      Bar: Auto                 # Bar, Conjugate, Mean

To find out more about the meaning of the rules, see ClearSpeakRulesAndPreferences.docx.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.