I have some html text which the NVDA screen reader (via the speech viewer) shows as the below text
row 9 Tue 28/11/23
First Hours 6:00
Second Hours 0:00
Third Hours 0:00 column 7
and reads aloud like so
row 9 Tue 28 slash 11 slash 23
First Hours six
Second Hours zero o'clock
Third Hours zero o'clock
column 7
i.e. it thinks 6:00 is a duration, 0:00 is a time (it's not), and it doesn't recognise the date
I can't find any aria markers to indicate to the screen reader what the values actually mean?
The best solution is . . . to leave it as it is and do nothing.
You may be tempted to replace the text that you feel incorrectly read with a correction in full, using the visually-hidden+aria-hidden technique:
<span aria-hidden="true">Text that was incorrectly read</span>
<span class="visually-hidden">Replacement visible only by screen readers</span>
However, it's a very bad idea, especially for numbers, dates, times, etc. for several reasons, among the following:
In general, replacing some text by another alternative text is a bad idea and is likely to create more problems than solve.