ICEfaces
  1. ICEfaces
  2. ICE-8172

Ice:Menubar/menuPopup showcase keyboard navigation

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.0.BETA2
    • Fix Version/s: 3.1, EE-3.0.0.GA_P01
    • Component/s: Sample Apps
    • Labels:
      None
    • Environment:
      Varies from browser to browser, see below. Tested on FF 12, Chrome 19, IE 9, Safari 5.1.

      Tomcat 7
    • Assignee Priority:
      P1
    • Affects:
      Sample App./Tutorial

      Description

      Ice:menuBar - Keyboard Navigation (Showcase page)

      All browsers: Disabling keyboard navigation completely disables the menu, rather than just the keyboard navigation for it.

      Chrome and Safari only: Keyboard navigation doesn't work properly. Clicking on one of the menu elements has no effect, and doesn't put focus on that element to enable keyboard navigation to work. (As in FF and IE). Slight workaround exists in chrome, in that if you tab to select one of the menu elements, keyboard navigation works from there. Safari doesn't have this, as their tabbing system ignores the menuBar element.

      -----------------------------------------------------------------------------------

      Ice:menuPopup - Keyboard Navigation (Showcase page)

      firefox - Keyboard navigation works fine, but it is lacking any sort of indicator to show what cell is currently selected, making it much more difficult to work with.

      Safari, Chrome - Keyboard navigation doesn't work. Effects are correct when clicked, but there doesn't seem to be anything occurring from key-presses in either browser.

      IE had no issues.

        Activity

        Hide
        Carlo Guglielmin added a comment -

        Assigning back to Ken as I don't see how this is anything but a component issue. All the app can do is set keyboardNavigationEnabled="true". The menus themselves are simple so I don't think they'd introduce problems. Can we run keyboard navigation through our test suites? and see if anything comes up?

        Show
        Carlo Guglielmin added a comment - Assigning back to Ken as I don't see how this is anything but a component issue. All the app can do is set keyboardNavigationEnabled="true". The menus themselves are simple so I don't think they'd introduce problems. Can we run keyboard navigation through our test suites? and see if anything comes up?
        Hide
        Carlo Guglielmin added a comment - - edited

        r30051 - Temporarily removed the ice:menuBar and ice:menuPopup keyboard navigation menu until the component is fixed.

        Show
        Carlo Guglielmin added a comment - - edited r30051 - Temporarily removed the ice:menuBar and ice:menuPopup keyboard navigation menu until the component is fixed.
        Hide
        yip.ng added a comment - - edited

        "Ice:menuBar: Disabling keyboard navigation completely disables the menu": same in 1.8. (1.8 showcase doesn't have test, but reproducible by changing markup in menubar demo to disable keyboard navigation.) Will debug 1.8 first. (Monolithic extras.js in ICEfaces 3 makes working with JS in the IDE very clumsy and slow.)

        Keyboard navigation code is in bridge JS as I had said, not in component JS as Ken had claimed: http://server.ice:8888/svn/ossrepo/icefaces/trunk/icefaces/bridge/lib/extras/keyboardNavigator.js

        Bug was present from the very beginning: ICE-4673, revision 19033. See screenshot-1.png.

        Chrome not focusing on a link is a known issue. (Some say it's a feature.) See, for example, http://stackoverflow.com/questions/6404756/google-chrome-javascript-link-bug. Just Crtl-click a link (open in new tab so you can see the focus in the original web page) on any web page in Chrome and compare the same in FF.

        Safari: internet connect broken when trying to download and install it. (Many times.) I think it should be the same issues as Chrome since they use the same WebKit engine.

        Show
        yip.ng added a comment - - edited "Ice:menuBar: Disabling keyboard navigation completely disables the menu": same in 1.8. (1.8 showcase doesn't have test, but reproducible by changing markup in menubar demo to disable keyboard navigation.) Will debug 1.8 first. (Monolithic extras.js in ICEfaces 3 makes working with JS in the IDE very clumsy and slow.) Keyboard navigation code is in bridge JS as I had said, not in component JS as Ken had claimed: http://server.ice:8888/svn/ossrepo/icefaces/trunk/icefaces/bridge/lib/extras/keyboardNavigator.js Bug was present from the very beginning: ICE-4673 , revision 19033. See screenshot-1.png. Chrome not focusing on a link is a known issue. (Some say it's a feature.) See, for example, http://stackoverflow.com/questions/6404756/google-chrome-javascript-link-bug . Just Crtl-click a link (open in new tab so you can see the focus in the original web page) on any web page in Chrome and compare the same in FF. Safari: internet connect broken when trying to download and install it. (Many times.) I think it should be the same issues as Chrome since they use the same WebKit engine.
        Hide
        yip.ng added a comment - - edited

        menuPopup:

        Firefox: focus indicator does show up. See video at http://screencast.com/t/lG8aZg5Nqm.

        Chrome: keyboard navigation does work, once you tab to get the focus first. Same as in menuBar. Same as in Firefox. See video at http://screencast.com/t/yzFSY0Xk98.

        Safari: internet connect broken when trying to download and install it. (Many times.) I think it should be the same issues as Chrome since they use the same WebKit engine.

        Show
        yip.ng added a comment - - edited menuPopup: Firefox: focus indicator does show up. See video at http://screencast.com/t/lG8aZg5Nqm . Chrome: keyboard navigation does work, once you tab to get the focus first. Same as in menuBar. Same as in Firefox. See video at http://screencast.com/t/yzFSY0Xk98 . Safari: internet connect broken when trying to download and install it. (Many times.) I think it should be the same issues as Chrome since they use the same WebKit engine.
        Hide
        yip.ng added a comment - - edited

        Revision: 30106


        Modified : /icefaces/trunk/icefaces/bridge/lib/extras/keyboardNavigator.js
        Modified : /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/menubar/MenuBar.java

        Revision: 30107


        Modified : /icefaces3/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/menubar/MenuBar.java
        Modified : /icefaces3/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js

        Show
        yip.ng added a comment - - edited Revision: 30106 Modified : /icefaces/trunk/icefaces/bridge/lib/extras/keyboardNavigator.js Modified : /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/menubar/MenuBar.java Revision: 30107 Modified : /icefaces3/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/menubar/MenuBar.java Modified : /icefaces3/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js
        Hide
        yip.ng added a comment -

        Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\compat\components\src\main\java\com\icesoft\faces\component\menubar\MenuBar.java
        Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\compat\core\src\main\javascript\extras\extras.js
        Completed: At revision: 30148

        Show
        yip.ng added a comment - Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\compat\components\src\main\java\com\icesoft\faces\component\menubar\MenuBar.java Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\compat\core\src\main\javascript\extras\extras.js Completed: At revision: 30148

          People

          • Assignee:
            yip.ng
            Reporter:
            Brennan Mckinney
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: