MathML Document Repository

Core Intent Property List

The data displayed below is derived from the YAML file core-properties.yml

Contents

Settings

Available Template Languages

Properties

Fixity

function
Effect: the function head is voiced followed by a connector such as “of” or “applied” to, followed by the arguments separated by connecting words such as “comma” or “and”
Applicability: intent function head
f:function(x,y)
English: f of x comma y
English: f of x and y
French: f de x et y
prefix
Effect: the function followed by the arguments are voiced, with no connecting words.
Applicability: intent function head
f:prefix(x,y)
English: f x y
postfix
Effect: the arguments followed by the function are voiced, with no connecting words.
Applicability: intent function head
f:postfix(x)
English: x f
infix
Effect: the arguments are voiced, separated by the function, which may be repeated if there are more than two arguments.
Applicability: intent function head
f:infix(x,y)
English: x f y
silent
Effect: the arguments are voiced with no connecting words. The function head is not read.
Applicability: intent function head
f:silent(x,y)
English: x y

Inference

literal
Effect: Assistive technology should not infer any semantics and just speak the elements with a literal interpretation. This includes speaking leaf content literally (e.g., | is spoken as “vertical bar”). If intent is present on a child element, it overrides this property.
See literal property
Applicability: all presentation elements
common
Effect: Assistive technology should use the specified common defaults.
See common property
Applicability: all presentation elements
legacy
Effect: Assistive technology should use its system specified defaults. This is the default behavior if neither the literal property nor common property is in effect. See legacy property
Applicability: all presentation elements

Table

array
Effect: the table should read the rows and columns with the default order row-first unless array:by-column is specified. If by-columns is used, column first order is used.
Applicability: mtable
:array:by-columns
<mtable arg='m' intent=':array:by-column'>
 <mtr><mtd><mi>a</mi></mtd><mtd><mi>b</mi></mtd></mtr>
 <mtr><mtd><mi>c</mi></mtd><mtd><mi>d</mi></mtd></mtr>
</mtable>
ab cd
English: the 2 by 2 array; column 1; a; row 2; c; column 2; b; row 2; d
matrix
Effect: the table should be read in a style suitable for matrices
Applicability: mtable
:matrix
<mrow intent='$m'>
 <mo>[</mo>
 <mtable arg='m' intent=':matrix'>
  <mtr><mtd><mi>a</mi></mtd><mtd><mi>b</mi></mtd></mtr>
  <mtr><mtd><mi>c</mi></mtd><mtd><mi>d</mi></mtd></mtr>
 </mtable>
 <mo>]</mo>
</mrow>
[ ab cd ]
English: the 2 by 2 matrix; column 1; a; column 2; b; column 1; c; column 2; d
piecewise
Effect: the table should be read in a style suitable for a piecewise definition
Applicability: mrow(mtable)
:piecewise
<mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo>
<mo>=</mo>
<mrow>
  <mo>{</mo>
  <mtable intent=":piecewise" columnalign="right left" columnspacing="0" rowspacing=".2em">
    <mtr>
      <mtd><mo>&#x2212;</mo><mi>x</mi></mtd>
      <mtd><mtext>if</mtext></mtd>
      <mtd><mi>x</mi><mo>&lt;</mo><mn>0</mn></mtd>
    </mtr>
    <mtr>
      <mtd><mi>x</mi></mtd>
      <mtd><mtext>if</mtext></mtd>
      <mtd><mi>x</mi><mo>&#x2265;</mo><mn>0</mn></mtd>
    </mtr>
  </mtable>
</mrow>
f(x) = { x if x<0 x if x0
English: f of x is equal to; 3 cases, case 1; negative 1 if x; is less than 0; case 2; 0 if x, is equal to 0; case 3; 1 if x, is greater than 0;
system-of-equations
Effect: the table should be read in a style suitable for displayed equations (and inequations)
Applicability: mtable
<mtable intent=':system-of-equations'>
  <mtr>
   <mtd columnalign='right'>
    <mn>2</mn><mo>&#x2062;</mo><mi>x</mi>
   </mtd>
   <mtd columnalign='center'>
    <mo>=</mo>
   </mtd>
   <mtd columnalign='left'>
    <mn>1</mn>
   </mtd>
  </mtr>
  <mtr>
   <mtd columnalign='right'>
    <mi>y</mi>
   </mtd>
   <mtd columnalign='center'>
    <mo>></mo>
   </mtd>
   <mtd columnalign='left'>
    <mi>x</mi><mo>&#x2212;</mo><mn>3</mn>
   </mtd>
  </mtr>
 </mtable>
2x = 1 y > x3
English: 2 equations; equation 1; 2 x, is equal to, 1; equation 2; y, is greater than, x minus 3;
lines
Effect: the table should be read without implying any mathematical context other than a multi-line display
Applicability: mtable
continued-row
Effect: indicates that the row continues an equation wrapped from the row above
Applicability: mtr
by-row
Effect: indicates that the table should be read row by row
Applicability: mtable
by-column
Effect: indicates that the table should be read column by column
Applicability: mtable
equation-label
Effect: indicates that the cell holds an equation label. This may influence the way the surrounding mtr is announced.
Applicability: mtd
no-equation-label
Effect: indicates that the cell does not hold a label. This may be used if a table column is being used solely to hold labels to highlight empty cells for unlabeled rows.
Applicability: mtd

Mathematical category

number-set
Applicability: mi
<mi intent=":number-set"></mi>
English: complex numbers
English: c
largeop
Applicability: intent function, msub, msubsup munder munderover
sum:largeop(0,n,$arg)
English: the sum from 0 to n of arg
sum:largeop($C,$arg)
English: the sum over C of arg
<mrow>
 <munderover intent=":largeop">
  <mo></mo>
  <mn>0</mn>
  <mi>n</mi>
 </munderover>
 <msup><mi>i</mi><m>2</m></msup>
</mrow>
0 n i2
English: the sum from 0 to n of i squared
<mrow>
 <munderover intent=":largeop">
  <mo></mo>
  <mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow>
  <mi>n</mi>
 </munderover>
 <msup><mi>i</mi><m>2</m></msup>
</mrow>
i=0 n i2
English: the sum from i equals 0 to n of i squared
English: the sum as i goes from 0 to n of i squared
<mrow>
 <munder intent=":largeop">
  <mo></mo>
  <mrow><mi>i</mi><mo></mo><mi>I</mi></mrow>
 </munder>
 <msup><mi>i</mi><m>2</m></msup>
</mrow>
iI i2
English: the sum over i in cap i of i squared
<mrow intent="sum:largeop($from,$to,$exp)">
 <munderover>
  <mo></mo>
  <mn arg="from">0</mn>
  <mi arg="to">n</mi>
 </munderover>
 <msup arg="exp"><mi>i</mi><m>2</m></msup>
</mrow>
0 n i2
English: the sum from 0 to n of i squared

Units and currency

unit
Applicability: mi
Comment: This includes SI units, English units, etc. It also includes radians, degrees, etc.
<mrow><mn>1.5</mn><mi intent=':unit'>km</mi></mrow>
1.5km
English: 1.5 kilometres
<mrow><mn>2</mn><mi mathvariant='normal' intent=':unit'>Ω</mi></mrow>
2Ω
English: 2 ohms
currency
Applicability: mi
<mrow><mi mathvariant='normal' intent=':currency'>$</mi><mn>1.50</mn></mrow>
$1.50
English: 1.50 dollars
<mrow><mn>1.50</mn><mi intent=':currency'>USD</mi></mrow>
1.50USD
English: 1.50 U S dollars
<mrow><mi mathvariant='normal' intent=':currency'>£</mi><mn>1.50</mn></mrow>
£1.50
English: 1.50 pounds

Number

roman-numeral
Applicability: mn
Comment: some braille codes (e.g., CMU) have special rules for roman numerals
<mn intent=':roman-numeral'>cd</mn>
cd
English: -c d - four hundred
<mn intent=':roman-numeral'>XVI</mn>
XVI
English: x v i
English: sixteen
<mrow intent=':roman-numeral'> <menclose notation='top'><menclose notation='top'><mn>VI</mn></menclose></menclose> <menclose notation='top'><mn>XL</mn></menclose> <mn>DXXI</mn> </mrow>
VI XL DXXI
English: v i double vinculm ; x l vinculum ; d x x i
English: six million? ; forty thousand ; five hundred and twenty one

Geometry

shape
Applicability: mo
Comment: there are many shape characters in unicode, including filled and shaded ones. Some have mathematical meaning. The shape property is used when they are meant to be used as a geometric shape.
<mo intent=':shape'></mo><mi>A</mi><mi>B</mi><mi>C</mi><mi>D</mi>
ABCD
English: rectangle A B C D

Chemistry

chemical-element
<mrow intent=':chemical-formula'> <mmultiscripts> <mi mathvariant='normal' intent=':chemical-element'>H</mi> <mn>2</mn> <mrow/> </mmultiscripts> <mi mathvariant='normal' intent=':chemical-element'>O</mi> </mrow>
H 2 O
English: cap h 2 cap o
chemical-equation
Effect: read the term as a chemical equation
<mrow intent=':chemical-equation'>
 <mrow intent=':chemical-equation'>
  <mn>2</mn>
  <mo>&#x2062;</mo>
  <mrow intent=':chemical-equation'>
   <mmultiscripts intent=':chemical-formula'>
    <mi mathvariant='normal' intent=':chemical-element'>H</mi>
    <mn>2</mn>
    <mrow/>
   </mmultiscripts>
   <mo>&#x2063;</mo>
   <mi mathvariant='normal' intent=':chemical-element'>O</mi>
  </mrow>
 </mrow>
 <mo></mo>
 <mrow intent=':chemical-equation'>
  <mrow intent=':chemical-equation'>
   <mn>2</mn>
   <mo>&#x2062;</mo>
   <mmultiscripts intent=':chemical-formula'>
    <mi mathvariant='normal' intent=':chemical-element'>H</mi>
    <mn>2</mn>
    <mrow/>
   </mmultiscripts>
  </mrow>
  <mo>+</mo>
  <mmultiscripts intent=':chemical-formula'>
   <mi mathvariant='normal' intent=':chemical-element'>O</mi>
   <mn>2</mn>
   <mrow/>
  </mmultiscripts>
 </mrow>
</mrow>
2 H 2 O 2 H 2 + O 2
English: 2, cap h, sub 2; cap o; reacts to form; 2 cap h, sub 2; plus cap o, sub 2

Pause

pause-short
Effect: short pause before processing the element as usual.
Applicability: all
<math><mi>a</mi><mspace intent=":pause-short" width=".2em"/><mi>b</mi></math>
ab
English: a [pause.] b
pause-medium
Effect: medium pause before processing the element as usual.
Applicability: all
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
 <mtable displaystyle="true" intent=":system-of-equations">
  <mtr>
   <mtd intent=":equation-label"><mtext>(10)</mtext></mtd>
   <mtd><mi>𝑎</mi><mi>+</mi><mi>𝑎</mi></mtd>
   <mtd><mo form="infix">=</mo><mi>𝑏</mi><mo>+</mo><mi>𝑏</mi></mtd>
   <mtd intent=":pause-medium"><mi>𝑐</mi><mo>+</mo><mi>𝑐</mi></mtd>
   <mtd><mo form="infix">=</mo><mi>𝑑</mi><mo>+</mo><mi>𝑑</mi></mtd>
  </mtr>
  <mtr>
   <mtd intent=":equation-label"><mtext>(11)</mtext></mtd>
   <mtd><mi>𝑎</mi></mtd>
   <mtd><mo form="infix">=</mo><mi>𝑏</mi></mtd>
   <mtd intent=":pause-medium"><mi>𝑐</mi></mtd>
   <mtd><mo form="infix">=</mo><mi>𝑑</mi></mtd>
  </mtr>
 </mtable>
</math>
(10) 𝑎+𝑎 =𝑏+𝑏 𝑐+𝑐 =𝑑+𝑑 (11) 𝑎 =𝑏 𝑐 =𝑑
English: line one label 10; a plus a equals b plus b [pause..] c plus c equals d plus d; line two label 11; a equals b [pause..] c equals d
pause-long
Effect: long pause before processing the element as usual.
Applicability: all
<math><mi>a</mi><mspace intent=":pause-long" width="2em"/><mi>b</mi></math>
ab
English: a [pause...] b
pause-xlong
Effect: extra long pause before processing the element as usual.
Applicability: all
<math><mi>a</mi><mspace intent=":pause-xlong" width="4cm"/><mi>b</mi></math>
ab
English: a [pause....] b

Argname

use-argname
Effect: Used as a self-property on an element with arg, causes the value of the arg attribute to be spoken by AT when the user moves to that child. For core concepts, this value should override argument names that would otherwise be used by AT. May be translated to the current language, or used literally if translation is not known.
Applicability: all
<mi arg="numerator" intent=":use-argname">x</mi>
x
English: numerator
French: numérateur
German: Zähler
<mi arg="denominator" intent=":use-argname">x</mi>
x
English: denominator
French: dénominateur
German: Nenner
<mn arg="base" intent=":use-argname">2</mn>
2
English: base
French: base
German: Basis
<mrow arg="lower-limit" intent=":use-argname"><mi>i</mi><mo>=</mo><mn>0</mn></mrow>
i=0
English: lower-limit
French: limite à gauche
German: Untergrenze
<mi arg="upper-limit" intent=":use-argname">n</mi>
n
English: upper-limit
French: limite à droite
German: Obergrenze