Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Incorrect tab selection order in listgrid for columns which are out of view

    This issue was observed in Chrome while using smartclient version v9.1p_2015-09-16/Pro Development Only (built 2015-09-16).
    This issue is also reproducible in smartclient showace/examples featuring the listgrid with a filter editor. Details below.

    Summary:
    For a list grid with a filter editor, it was observed that when focused in the last column of the list grid and tabbing (i.e.: pressing the tab key) to select the next element outside of the list, then scrolling the list grid all the way to the left and tabbing back (via shift+tab), the column which gets selected is not the last column in the list grid.

    Specific steps to reproduce:
    1. create a list grid with many columns such that a scroll bar with a significant scroll distance appears.
    2. click on the filter editor of the last column
    3. tab away from the list grid (i.e.: tab such that an element outside of the list grid becomes selected)
    4. scroll the list grid all the way to the beginning (to the left). The last several columns will not be visible.
    5. Shift+tab back into the list grid. Observe that it is not the last column of the list grid that is selected
    5.1 I also observed a different variation of this issue when the list grid does not have too many columns (still a scroll bar so that the last column or two are not visible). In this case, the last column was selected, but the list grid was not scrolled to see this column. Pressing shift+tab again selected the next column, and then the list grid was scrolled.

    How to reproduce in Smartcliane showcase:
    I was able to reproduce the above issue in the following showcase/examples:
    http://www.smartclient.com/docs/10.0...er.html#filter
    https://www.smartclient.com/#adaptiveFilterFS
    https://www.smartclient.com/#filter

    In all cases, the steps are similar (I will use https://www.smartclient.com/#filter as reference) :
    1. stretch out all the columns to create a scrollbar. You need to stretch out the columns quite a bit, such that you need to scroll pretty far to see the last column. This is necessary since there is no way to add more columns in this example.
    2. click on the last column's filter (Continent) to select it. Now tab away until you select an element outside of the list grid. In this case, it will be the Print button above the list grid example.
    3. scroll the list grid all the way to the left with the mouse. The focus should still stay on the Print button.
    4. now, shift+tab back into the listgrid: notice that the column whose filter is selected is not Continent, but Capital).

    The above issue is exacerbated if there are many many columns, as the last several are "skipped" when tabbing back into the list grid. This appears to be an issue with columns that are scrolled far enough away such that they are out of scope (maybe they are no longer cached or referenced by the listgrid at that point?)

    This occurs for any setup which results in columns being out of view (stretching all columns absurdly wide, adding several columns, or even shrinking the browser to create a scrollbar and displacing columns out of view).

    Thanks in advance,
    Please let me know if you require any additional information.


    #2
    Why do you regard this as a bug? When you re-enter a TabSet you have tabbed past, focus moves to the selected tab - it does not select the last tab. This is analogous.

    Also, the alternative here would be to auto-scroll the ListGrid all the way to the right, when the end user has clearly put certainly columns into view intentionally. That seems a clearly bad behavior.

    Finally, there's no issue with being unable to reach the remaining columns, as once the focus is within the filterEditor, tabbing and shift-tabbing work to move forward and backward through all columns.

    Comment


      #3
      Makes sense. The assumption on our end was that it would scroll to the the last column, but that might not really make sense, as you've pointed out.
      Thanks for the quick reply.

      Comment

      Working...
      X