Skip to content

sayAll should only update controlField/formatfield speech caches when the caret is updated #3688

@nvaccessAuto

Description

@nvaccessAuto

Reported by mdcurran on 2013-12-03 04:21
Currently speech.speakTextInfo updates its speech caches on the TextInfo's obj when it is called, even inside a current sayAll. This causes an issue where if sayAll is reading down a document and enters a field such as a table, the speech cache is updated for this situation, even though NVDA may not have actually spoken that text yet. Therefore if you then interrupt sayAll by read current line, or something, NVDA will announce something like "out of table" even though it had never actually got up to speaking entering of the table.
Saving of pseech caching to the TextInfo's obj must be delaied until an index is received from the synth for that particular text. We may wish to abstract this with some kind of speakTextInfoState object which can be passed into speakTextInfo and mutated.
Blocking #3675

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions