Current WAIARIA suggestion.
A div tag with role=math and an arialabel whose only child is a math tag containing valid MathML.
$a{x}^{2}+bx+c=0$
Results
 NVDA 2016.01 with MathPlayer (Win7).
On IE 10: voices both label and MathML.
On Firefox: voices nothing.
On Chrome: voices nothing.
(TODO: double check older NVDA. My recollection was that FF, IE voice MathML, ignore the label; Chrome had no voicing.)
 JAWS 17 (Win7).
On IE10 & Firefox: voices MathML, ignores label.
On Chrome: voices label.
 ChromeVox/Chrome: voices label, ignores MathML.
 VoiceOver/Safari 8: voices label, ignores MathML.
 Orca 3.18.1/Firefox 45: voices MathML, ignores label.
Current WAIARIA suggestion without role=math.
Same as above but without a specified role=math.
$a{x}^{2}+bx+c=0$
Results
 NVDA 2016.01 with MathPlayer (Win7).
On IE 10: voices both label and MathML.
On Firefox: voices both label and MathML.
On Chrome: voices label only.
(TODO: double check older NVDA. My recollection was that IE voices only MathML, FF voices doubles; Chrome had no voicing.)

JAWS 17 (Win7).
On IE10 & Firefox: voices MathML, ignores label.
On Chrome: voices nothing.
 ChromeVox/Chrome: voices label, ignores MathML
 VoiceOver/Safari 8: voices label, ignores MathML
 Orca 3.18.1/Firefox 45: voices MathML, ignores label.
Experiment 1: plain MathML with "deep" labels
A math tag containing valid MathML with labels on children to improve voicing by AT, e.g., a label reading "times" for an mo with an invisible times Unicode character or a label reading "x squared" on an msup tag with ariahidden children.
$a{x}^{2}+bx+c=0$
Results
 NVDA 2016.01 with MathPlayer (Win7).
On IE 10: ignores labels, voices underlying MathML.
On Firefox: ignores labels, voices underlying MathML.
On Chrome: voices nothing.
 JAWS 17 (Win7):
On IE10 & Firefox: ignores labels, voices MathML.
On Chrome: voicing nothing (three "blanks" in reading mode).
 ChromeVox: ignores labels, voices MathML
 Orca 3.18.1/Firefox 45: voices MathML, ignores labels
Experiment 2: preserving Experiment 1 in HTML conversion
Below is the result of a conversion of the MathML from Experiment 1 into HTML using mathjaxnode.
ax2+bx+c=0
Results

NVDA 2016.01 with MathPlayer (Win7).
On IE 10: voices the labels and overall the hopedfor result.
On Firefox: voices the labels and overall the hopedfor result.
On Chrome: "a I'manxsquaredlabel plus b x plus c equals zero" (loses labels on invisible times).

JAWS 17
On IE10: "a times plus [garbled] plus c equals zero".
On Chrome: "a [garble] x squared plus [garbled] x plus x equals zero".
On Firefox: "a plus b x plus c equals zero."
 ChromeVox: voices the labels and overall the hopedfor result.
 Orca 3.18.1/Firefox 45: "a plus b x plus c equals zero"
Experiment 3: "classic HTMLmath"
This is a modification of the (imho supposedly) negative example from the spec. A classic case of "HTML math" using sup and i tags, but modified here by adding "deep" arialabels as in the previous experiments.
ax^{2}
+ bx + c = 0
Results

NVDA 2016.01 with MathPlayer (Win7).
On IE 10: "a I'manxsquaredlabel plus b x plus c equals zero".
On Firefox: "a I'manxsquaredlabel plus b x plus c equals zero".
On Chrome: "a I'manxsquaredlabel plus b x plus c equals zero".

JAWS 17, Win7:
On IE10 & Firefox: "a invisible times plus b invisible times x plus c equals zero" (i.e., loses "x squared").
On Chrome: "a invisible times x squared plus b invisible times x plus c equals zero"
On FF:
 ChromeVox: voices the labels and overall the hopedfor result.
 Orca 3.18.1/Firefox 45: "a [double pause in reading mode] plus b [double pause in reading mode] x plus c equals zero"
TODO: Experiment 4: preserving Experiment 1 in SVG conversion
Below is the result of a conversion of the MathML from Experiment 1 into SVG using mathjaxnode.