Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8311286

[macOS, Accessibility] VoiceOver: Missing and incorrect announcements on tab items of JTabbedPane

    XMLWordPrintable

Details

    Description

      ================
      Test environment
      ================
      Apple M1 Pro, macOS Ventura version 13.4.1

      java version "20" 2023-03-21
      Java(TM) SE Runtime Environment (build 20+36-2344)
      Java HotSpot(TM) 64-Bit Server VM (build 20+36-2344, mixed mode, sharing)

      openjdk version "21-ea" 2023-09-19
      OpenJDK Runtime Environment (build 21-ea+26-2328)
      OpenJDK 64-Bit Server VM (build 21-ea+26-2328, mixed mode, sharing)

      ================
      Test application
      ================
      SwingSet2.jar
      SwingSet2 can be downloaded from:
      https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html#swingset2

      ======================
      Test to reproduce bugs
      ======================
      1. On macOS, start VoiceOver (for example with shortcut Option-Command-F5).

      2. Start SwingSet2.jar with jdk-21 (or idk-20, which behaves the same).
      -> SwingSet2 window is displayed. The ToggleButton “JInternalFrame demo” has the keyboard focus.

      3. Press Tab key.
      -> The "Internal Frames Demo" tab item has the keyboard focus.
      -> VoiceOver announces: "Leaving toolbar. Entering Internal Frames Demo tab group. Internal Frames Demo, tab group. You are currently on a tab group."
      Bug #1: VoiceOver does not announce the position of the tab item.
      Expected announcement: "... Internal Frames Demo, tab group, tab 1 of 2. ..."

      4. Press Right Arrow key.
      -> The "Source Code" tab item has the keyboard focus.
      -> VoiceOver announces: "Source Code, selected, radio button, group. You are currently on a tab group."
      Same as bug #1: VoiceOver does not announce the position of the second tab item.
      Bug #2: VoiceOver announces the tab item as a radio button instead of a tab.


      Note: Mentioning a bug on VoiceOver announcement does not mean that the issue is on VoiceOver’s side, rather it is the result of the issue and the cause of the issue needs to be found.

      Attachments

        Activity

          People

            abhiscxk Abhishek Kumar
            mbaesken Matthias Baesken
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: