Creates an instance of AnnounceCaptionCommand.
The application context.
The text view model.
The audio service.
The text service for mode-aware formatting.
The display service for scope management.
Protected ReadonlycontextProtected ReadonlytextProtected ReadonlyaudioProtected ReadonlytextProtected ReadonlydisplayProtectedrestoreRestores the scope to the previous scope before entering label mode. Uses DisplayService to properly manage the focus stack and restore the correct scope (TRACE, BRAILLE, etc.) regardless of which scope was active before entering label mode.
Only exits when a label scope is actually active. These announce commands are also bound outside label mode (e.g. 't' at subplot/figure level); exiting unconditionally would flip navigation into TRACE scope via the stale focus stack and break subplot activation.
Executes the command to display the caption. Accesses caption from the figure level via Context, since caption is a figure-level property not available on trace state. Only announces when the JSON authored a caption; otherwise announces "No caption available", matching the unavailable phrasing used by sibling title and subtitle commands.
Command to describe the caption of the figure.