ICEfaces
  1. ICEfaces
  2. ICE-11010

Pressing home/end or arrow keys in text fields triggers pagination

    Details

    • Assignee Priority:
      P2

      Description

      When an ace:dataTable has pagination enabled and the table contains text input fields, pressing the home, end or arrow keys in them causes the table to navigate to a different page, depending on the key pressed.

      This can be easily reproduced by modifying the showcase ace:dataTable > Paginator demo to render an <h:inputText /> component in any of the columns. When loaded, focus any <h:inputText /> component and press the home, end or arrow keys and see how pagination is triggered.

        Activity

        Hide
        Arturo Zambrano added a comment -

        r48657: fix to avoid triggering pagination when arrows keys and home, end, pgup, pgdn keys are pressed on input text elements, textarea elements, select elements and the ace:sliderEntry handle

        Testing notes: please test with all possible input ace:* and h:* components that can be controlled with the keyboard

        Show
        Arturo Zambrano added a comment - r48657: fix to avoid triggering pagination when arrows keys and home, end, pgup, pgdn keys are pressed on input text elements, textarea elements, select elements and the ace:sliderEntry handle Testing notes: please test with all possible input ace:* and h:* components that can be controlled with the keyboard
        Hide
        Liana Munroe added a comment - - edited

        Tested with ICEfaces 4 trunk showcase Jenkins build 1930 and showcase built locally r48657 using FF 43, Chrome 50 and IE 11.
        Initial testing finds that when the clicking on a paginator page (which is not the current page) the arrow keys can not be readily used to navigate the paginator pages. An additional click on the paginator page is required in order to start using the L/R arrow keys to navigate pages. This is not an issue with ICEfaces 4.1.1 release public demo.
        To reproduce:
        1.) Use the showcase > ace:dataTable >Overview demo.
        2.) Note that page 1 in the paginator is the current page. Click once on page 1 paginator button.
        3.) Use the right arrow key to change to page 3. This functions normally.
        4.) Now with the mouse, click once on page 2 in the paginator. The page changes as expected but the 2 button does not appear to have focus.
        5.) Try to change the pages with the left or right arrow key. Pages are not changed.
        6.) Click once again the current page (2). The arrow keys can now be used to navigate the paginator.

        A new QA test application (views/ICE-11010.jsf) has been added to dataTable.
        http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/dataTable

        In this application there is a dataTable with 7 columns, each column contains multiple ace or h comps. Most are functioning properly with arrow/page/home/end keys and paginator EXCEPT for the following:
        ace:selectMenu
        ace:checkboxButtons
        ace:radioButtons
        ace:buttonGroup.

        In these comps, using the arrow/page/home/end keys switches focus to the paginator.

        Show
        Liana Munroe added a comment - - edited Tested with ICEfaces 4 trunk showcase Jenkins build 1930 and showcase built locally r48657 using FF 43, Chrome 50 and IE 11. Initial testing finds that when the clicking on a paginator page (which is not the current page) the arrow keys can not be readily used to navigate the paginator pages. An additional click on the paginator page is required in order to start using the L/R arrow keys to navigate pages. This is not an issue with ICEfaces 4.1.1 release public demo. To reproduce: 1.) Use the showcase > ace:dataTable >Overview demo. 2.) Note that page 1 in the paginator is the current page. Click once on page 1 paginator button. 3.) Use the right arrow key to change to page 3. This functions normally. 4.) Now with the mouse, click once on page 2 in the paginator. The page changes as expected but the 2 button does not appear to have focus. 5.) Try to change the pages with the left or right arrow key. Pages are not changed. 6.) Click once again the current page (2). The arrow keys can now be used to navigate the paginator. A new QA test application (views/ ICE-11010 .jsf) has been added to dataTable. http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/dataTable In this application there is a dataTable with 7 columns, each column contains multiple ace or h comps. Most are functioning properly with arrow/page/home/end keys and paginator EXCEPT for the following: ace:selectMenu ace:checkboxButtons ace:radioButtons ace:buttonGroup. In these comps, using the arrow/page/home/end keys switches focus to the paginator.
        Hide
        Arturo Zambrano added a comment -

        r48665: removed onclick="this.focus()" on inactive page links, since it's actually not necessary for accesskey to work properly on Chrome and was causing the regression described above

        This regression was actually caused by the changes from ICE-10735.

        Show
        Arturo Zambrano added a comment - r48665: removed onclick="this.focus()" on inactive page links, since it's actually not necessary for accesskey to work properly on Chrome and was causing the regression described above This regression was actually caused by the changes from ICE-10735 .
        Hide
        Arturo Zambrano added a comment -

        r48687: fix to avoid triggering pagination when arrows keys and home, end, pgup, pgdn keys are pressed on button elements

        Initially, button elements weren't included in this fix because they can;t be navigated using the arrow keys, etc. But, when seeing an array of checkbox buttons or radio buttons, a user might intuitively attempt to use the arrow keys to navigate them, which would trigger pagination instead and be annoying, so now button elements are included in this fix.

        Show
        Arturo Zambrano added a comment - r48687: fix to avoid triggering pagination when arrows keys and home, end, pgup, pgdn keys are pressed on button elements Initially, button elements weren't included in this fix because they can;t be navigated using the arrow keys, etc. But, when seeing an array of checkbox buttons or radio buttons, a user might intuitively attempt to use the arrow keys to navigate them, which would trigger pagination instead and be annoying, so now button elements are included in this fix.
        Hide
        Liana Munroe added a comment -

        Tested with ICEfaces EE-4.1.0 r48691. 2 issues noted:

        1.)If focus is on the the ace:selectMenu and the L/R arrow keys or pageUp/Down keys are used the focus jumps to the paginator.

        2.) Placing focus on the button groups then using the arrow or page keys no longer causes the focus to move to the paginator however the buttons can not be navigated either.

        Show
        Liana Munroe added a comment - Tested with ICEfaces EE-4.1.0 r48691. 2 issues noted: 1.)If focus is on the the ace:selectMenu and the L/R arrow keys or pageUp/Down keys are used the focus jumps to the paginator. 2.) Placing focus on the button groups then using the arrow or page keys no longer causes the focus to move to the paginator however the buttons can not be navigated either.
        Hide
        Arturo Zambrano added a comment -

        r48639: fix to avoid triggering pagination when arrows keys and home, end, pgup, pgdn keys are pressed on ace:selectMenu

        This fixes the first issue above. The second point is not really an issue, as mentioned in my previous comment, these components just don't support keyboard navigation, since they are treated as separate buttons. They can still be navigated through with the tab key as any other ordinary button.

        Show
        Arturo Zambrano added a comment - r48639: fix to avoid triggering pagination when arrows keys and home, end, pgup, pgdn keys are pressed on ace:selectMenu This fixes the first issue above. The second point is not really an issue, as mentioned in my previous comment, these components just don't support keyboard navigation, since they are treated as separate buttons. They can still be navigated through with the tab key as any other ordinary button.
        Hide
        Liana Munroe added a comment - - edited

        Verified ICEfaces EE-4.1.0 r48694. Tomcat 8, IE Edge, 11, 10, 9, 8, Chrome 50, FF 43.

        Show
        Liana Munroe added a comment - - edited Verified ICEfaces EE-4.1.0 r48694. Tomcat 8, IE Edge, 11, 10, 9, 8, Chrome 50, FF 43.

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Arturo Zambrano
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: