Request for Enhanced Customization Options in Microsoft Immersive Reader

jethro cenas 20 Reputation points
2025-08-14T05:51:47.25+00:00

Integrating the Microsoft Immersive Reader into an application has proven to be a powerful tool for enhancing accessibility and reading comprehension. However, while customizing the UI and workflow, the following limitations were encountered:

  • The Play/Pause button and other playback controls are only accessible within the built-in UI of the Immersive Reader, without any public events or APIs for external control or monitoring of playback.
  • Updating certain reader settings, such as theme changes, necessitates a full relaunch of the Immersive Reader, disrupting the reading experience.

There is a request for consideration of the following features:

  1. An API or event system to control and listen to playback actions (Play, Pause, Resume) externally.
  2. The capability to update Immersive Reader settings (e.g., theme, voice, speed) dynamically without needing to relaunch the reader.

Implementing these capabilities would allow:

  • Integration of Immersive Reader playback with a custom toolbar.
  • Seamless synchronization of theme changes and preferences with the application’s state.
  • Reduction of disruptions for users who wish to continue reading without having to reload the reader.

These enhancements would offer greater flexibility for developers and significantly improve the user experience in applications that integrate with Immersive Reader.

Thank you for considering this request. Feedback on the feasibility of these features for future updates would be appreciated.

Azure AI Immersive Reader
Azure AI Immersive Reader
An Azure Applied AI Service that embeds text reading and comprehension capabilities into your applications.
0 comments No comments
{count} votes

Accepted answer
  1. Sina Salam 23,931 Reputation points Volunteer Moderator
    2025-08-14T12:24:59.9433333+00:00

    Hello jethro cenas,

    Welcome to the Microsoft Q&A and thank you for posting your questions here.

    I understand that you are requesting for Enhanced Customization Options in Microsoft Immersive Reader.

    As of the current Immersive Reader JavaScript SDK (v1.4), these capabilities are not natively supported. The SDK offers methods such as launchAsync for initialization and close for ending a session, as well as configuration options like displayOptions and readAloudOptions to preset themes, voices, and reading speeds, but these must be applied at launch. While there is an onPreferencesChanged event that captures user changes inside the Reader, it cannot be used to push new settings dynamically into an active session.

    Because direct external playback control and live updates are unavailable, the best approach is to create a “mirror toolbar” in your application that reflects intended playback state, manages launches, and closes sessions when a “pause” is needed. You can preconfigure settings before each launch with readAloudOptions (e.g., autoplay, voice, speed) and displayOptions (e.g., themeOption, textSize). To keep user preferences consistent across sessions, store the preferences string from the onPreferencesChanged event and pass it back into launchAsync for the next session. For theme changes, consider mounting the reader in a fixed parent container, using a fade overlay while calling close() and relaunching with updated settings, which minimizes visual disruption.

    Additional considerations include enabling cookiePolicy.Enable for preference roaming after obtaining user consent for privacy compliance handling Safari’s autoplay restrictions (which prevent automatic playback without user interaction), and guarding against throttling or timeouts when relaunching frequently. If you need to maintain reading position, segment your content into smaller chunks and track the last read index in your own application state before relaunching. Full SDK reference is available here: - https://learn.microsoft.com/azure/applied-ai-services/immersive-reader/reference . For tracking platform updates or submitting feature requests, you can follow - https://learn.microsoft.com/azure/applied-ai-services/immersive-reader/whats-new and post issues or discussions in the Immersive Reader GitHub repository.

    I hope this is helpful! Do not hesitate to let me know if you have any other questions or clarifications.


    Please don't forget to close up the thread here by upvoting and accept it as an answer if it is helpful.

    0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.