[
    {
        "role": "user",
        "content": "Is%20there%20a%20way%20for%20JAWS%20users%20to%20be%20notified%20when%20a%20caller%20disconnects%20inside%20Amazon%20connect%3F"
    },
    {
        "role": "assistant",
        "content": "Yes \u2014 there *is* a way for JAWS (or any screen reader user) to get notified when a caller disconnects in Amazon Connect, but it requires some customization or additional development. Out of the box, Amazon Connect supports events and APIs that report call disconnection, but those don\u2019t automatically translate into the audible cues or user interface changes that a screen reader like JAWS would pick up unless you build that in.\n\nHere\u2019s how this can be done \u2014 the capabilities available, what needs custom work, and recommendations to ensure it works well for screen reader users.\n\n---\n\n## Existing Capabilities in Amazon Connect\n\n1. **\u201cParticipantDisconnected\u201d Event in Agent Workspace APIs**  \n   Amazon Connect provides an event handler in the Agent Workspace SDK called `onParticipantDisconnected` that fires when a participant (e.g. customer or agent) leaves or is removed from a contact. ([docs.aws.amazon.com](https://docs.aws.amazon.com/agentworkspace/latest/devguide/3P-apps-contact-events-participantdisconnected-sub.html?utm_source=openai))  \n   This lets you detect when the caller disconnects in real time.\n\n2. **Contact Events Stream (DISCONNECT event, COMPLETED event, timestamps, etc.)**  \n   There\u2019s a stream of contact events that includes a `DISCONNECTED` type event when a voice call (or chat/task/email) is disconnected. ([docs.aws.amazon.com](https://docs.aws.amazon.com/connect/latest/adminguide/contact-events.html?utm_source=openai))  \n   ContactTraceRecords (CTRs) include fields like `DisconnectReason` (for voice) and other metadata about how and why the contact ended. ([aws.amazon.com](https://aws.amazon.com/about-aws/whats-new/2021/amazon-connect-provides-disconnect-reason-voice-calls-tasks/?utm_source=openai))\n\n3. **Accessibility Support**  \n   Amazon Connect supports screen readers, including JAWS, under its standard Accessibility Compliance. ([docs.aws.amazon.com](https://docs.aws.amazon.com/connect/latest/adminguide/accessibility-compliance.html?utm_source=openai))\n\n---\n\n## What *Isn\u2019t* Provided Automatically (that JAWS Users Would Likely Need)\n\n- There is no built-in audible cue or speech announcement (such as \u201cCustomer has disconnected\u201d) that plays automatically when a call ends in the standard CCP (Contact Control Panel) interface for the agent. (AWS docs do *not* state that feature is included.)  \n- The \u201cSet disconnect flow\u201d block in Connect allows post-disconnect processing (for tasks, post-survey flows, etc.), but it does *not* directly affect what the agent hears or what the screen reader presents when someone disconnects. ([docs.aws.amazon.com](https://docs.aws.amazon.com/connect/latest/adminguide/set-disconnect-flow.html?utm_source=openai))\n\n---\n\n## How to Provide Notifications to JAWS Users\n\nTo deliver accessible notifications, you typically need to build a small customization on top of what Amazon Connect already offers. Here are some methods:\n\n| Approach | What You Use | How It Helps |\n|---|---|---|\n| **Custom Agent Workspace Integration** | Use the Agent Workspace APIs / SDKs to listen for `onParticipantDisconnected`. | Trigger accessible UI changes (e.g. set focus to a status message) or play an audio alert that JAWS can pick up. |\n| **Custom CC-P Interface or Plug-in** | Modify or wrap the standard CCP with your own UI layers (if allowed), or use browser-based scripts. | Can insert ARIA roles / live region announcements so screen readers are alerted. |\n| **Browser Notification / Audio Tone** | When the disconnect event fires, play a short sound / tone *and* show visible text update. | JAWS can pick up live region changes or browser alerts if configured correctly. |\n| **Accessibility Overlay with ARIA Live Regions** | Use ARIA live regions (e.g. `<div aria-live=\"assertive\">Customer has disconnected</div>`) updated programmatically when the event occurs. | JAWS (and other screen readers) will announce updated text in these regions automatically. |\n\n---\n\n## Recommended Solution for JAWS\n\nPutting it together, here\u2019s a recommended approach, including example steps:\n\n1. **Subscribe to `participantDisconnected` via the Agent Workspace SDK**  \n   For example:  \n\n   ```js\n   contactClient.onParticipantDisconnected((event) => {\n     // Play sound or set live region text\n     announceDisconnection(event.participant.participantId);\n   }, contactId);\n   ```\n\n2. **Implement a live region in the agent\u2019s UI**  \n   Example HTML:\n\n   ```html\n   <div id=\"disconnect-announcement\" aria-live=\"assertive\" style=\"position: absolute; left: -9999px;\">\n     <!-- populated dynamically -->\n   </div>\n   ```\n\n3. **When the disconnect event occurs:**  \n   - Update the live region text to a brief phrase, e.g. \u201cCustomer has disconnected.\u201d  \n   - Optionally play an audio cue if acceptable.  \n   - Shift focus or set the UI status indicator to a message that screen reader users can detect (e.g. a status bar or area with ARIA status role).  \n\n4. **Test with JAWS**  \n   Ensure that when the disconnect event fires, JAWS immediately reads the announcement. Check both NVDA and JAWS to verify behavior, as screen reader handling of live regions may vary.\n\n---\n\n## Summary\n\n- Yes, Amazon Connect has the **eventing** in place (`ParticipantDisconnected`, `DISCONNECT` events, etc.) to detect when a caller disconnects.  \n- However, it doesn\u2019t automatically generate screen-reader friendly notifications like audible messages or live region updates.  \n- To serve JAWS users fully, you need to build a small customization \u2014 listen for the disconnect event, then update the UI (live region, focus, sound) so that JAWS reads out \u201ccaller disconnected\u201d or similar.\n\nIf you want, I can help you build a sample plugin or snippet tailored for Amazon Connect + JAWS users so that this behavior is implemented. Do you want to go in that direction?"
    }
]