ABCDEFGHIJKLMNOPQRSTUVWXYZAA
1
Wish list for core intents (not yet complete)
2
Many are self-voicing, although often AT will say a shorter version.
3
4
Intent strings
(some are too verbose?)
Appearance or TeX notationSample markup,
with AAAA as the intent string when multiple examples
5
times
cross-product
by
direct-product
a × b<mi>a</mi><mo intent="AAAA">×</mo><mi>b</mi>
6
dot-producta ⋅ b<mi>a</mi><mo intent="dot-product">⋅</mo><mi>b</mi>
7
conjugate
complement-of
negation-of
mean-of
center-of-mass-of
repeated (as in 0.999...)
closure-of
antiparticle-of
\overline{a} for all of them

a^* for conjugate
<mover intent="conjugate($x)"><mi arg="x">a</mi><mo accent="true">-</mo></mover>

<msup intent="conjugate($x)"><mi arg="x">a</mi><mo>*</mo></msup>
8
dual
adjoint
nonzero-elements
units-of
a^*

also see "conjugate" above
<msup intent="AAAA($x)"><mi arg="x">a</mi><mo>*</mo></msup>
9
transposea^T
(can also be on the left)
<msup intent="transpose($x)"><mi arg="x">a</mi><mi>T</mi></msup>
10
absolute-value
cardinality
determinant
length
order
magnitude
modulus
|a| for all of them

#a for cardinality

|ab| for length
<mrow intent="AAAA($x)"><mo>|</mo><mi arg="x">a</mi><mo>|</mo></mrow>

<mrow intent="cardinality($x)"><mi>#</mi><mi arg="x">a</mi></mrow>

<mrow intent="length($x)"><mo>|</mo><mrow arx="x"><mi>a</mi><mi>b</mia</mrow>><mo>|</mo></mrow>
11
norm
magnitude
∥a∥
<mrow intent="AAAA($x)"><mo>∥</mo><mi arg="x">a</mi><mo>∥</mo></mrow>
12
open-interval
cartesian-point
ordered-pair
gcd
(a,b)
<mrow intent="AAAA($x, $y)"><mo>(</mo><mi arg="x">a</mi><mo>,</mo><mi arg="y">b</mi><mo>)</mo></mrow>
13
closed-interval
commutator
bracket
lcm
[a,b]
<mrow intent="AAAA($x, $y)"><mo>[</mo><mi arg="x">a</mi><mo>,</mo><mi arg="y">b</mi><mo>]</mo></mrow>
14
subgroup-index
degree-over
[a : b]
<mrow intent="AAAA($x, $y)"><mo>[</mo><mi arg="x">a</mi><mo>:</mo><mi arg="y">b</mi><mo>]</mo></mrow>
15
ratioa : b
<mrow intent="AAAA($x, $y)"><mi arg="x">a</mi><mo>:</mo><mi arg="y">b</mi></mrow>
16
integer-part
equivalence-class
[a]
<mrow intent="AAAA($x)"><mo>[</mo><mi arg="x">a</mi><mo>]</mo></mrow>
17
row-vector
cycle
(a b c)
can have any number of entries
not sure of the MathML
18
column-vector (2 by 1)
binomial-coefficient
\begin{pmatrix}a\\b\end{pmatrix}more than one way to do it
19
span
group-generated-by
ideal-generated-by
\langle a, b, c \rangle
can have any number of entries
<mrow intent="AAAA($x)"><mo>⟨</mo><mrow arg="x"><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi></mrow><mo>⟩</mo></mrow>
20
inner-product
group-presentation
bra-ket
\langle a | b \rangle
or
\langle a, b \rangle
<mrow intent="AAAA($x, $y)"><mo>⟨</mo><mi arg="x">a</mi><mo stretchy="true">|</mo><mi arg="y">b</mi><mo>⟩</mo></mrow>
21
divides
or
a|b<mi>a</mi><mo intent="AAAA">|</mo><mi>b</mi>
22
parallel-to
exactly-divides
a∥b<mi>a</mi><mo intent="AAAA">∥</mo><mi>b</mi>
23
evaluated-at
restricted-to
a|_bnot sure of the MathML
24
equivalent-to
congruent-to
identically-equals
a ≡ b<mi>a</mi><mo intent="AAAA">≡</mo><mi>b</mi>
25
similar-to
equivalent-to
isomorphic-to
a ≅ b<mi>a</mi><mo intent="AAAA">≅</mo><mi>b</mi>
26
superscripta^b<msup><mi>a</mi><mi intent="superscript">b</mi></msup>
27
subscripta_b<msub><mi>a</mi><mi intent="subscript">b</mi></msub>
28
Note: "index" could replace both subscript and superscript
29
30
31
Special case: superscript as an index
See issue 447
32
In the expression a^b , sometimes b is an exponent/power, but other times it is an index
meaning that AT should pronounce it "a superscript b", or some shortened version.
33
This is so common that we should have a proper way to handle it.
34
DF suggested: intent="superscript" or intent="superscript($x)", as in:
35
<msup><mi>L</mi><mn intent="superscript">2</mn></msup>
36
The objection was made that this is not self-voicing, so DF changed the intent from 'index' to 'superscript'
37
DF would like to have further discussion.
38
39
40
Special case: named functions
Also see issue 447
41
We have a way to say that A(n,m) is "Ackerman(n,m)",
all you need is intent="Ackerman-function", as in
42
<mi intent="Ackerman">A</mi>
43
That is not a great solution because it forces AT to say the full name every time,
which may be objectionable to the user.
44
Considering the proliferation of special functions and other named objects, it would be good
to have a way to specify the name and also indicate to AT that a literal reading of the content
is also acceptable. DF suggested, using the above example:
45
<mi intent="named-function(Ackerman)">A</mi>
46
Two more examples:
47
<mi intent="named-algebra(quaternions)">H</mi>
48
<mi intent="named-set(upper-half-plane)">H</mi>
49
The objection was made that this is not self-voicing.
50
DF would like to have further discussion.
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100