Announcement

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

    #31
    We're taking another look at this test case in Firefox. (We've been simultaneously updating both the 8.1.x and 8.x branches so its possible some case was missed. Regardless we should be able to resolve this today).

    The description about your this "not working at all" in your real environment is a little worrisome. It sounds like this test case is not accurately representing what you're seeing in your app so we may be failing to address issues that you will encounter.
    Is there any chance you can show us another test case that more accurately reflects the design of your app and has the same problems you're seeing there?

    This area is going to be hard to address without seeing the problems in action. focus, blur and tab-index handling vary widely across browsers, and we have a lot of code in the framework designed to make this work correctly, coupled with a lot of special-case code for screen-reader support (as well as some additional handling for handling "modal" windows, which involves suppressing native browser tab keypress handling and moving focus around explicitly). As you can imagine this makes for enough special cases that being able to reproduce any issues you do encounter is pretty essential for debugging.

    Comment


      #32
      This is odd - we've just re-tested with the standalone test case provided and we're not seeing the problems you describe in firefox. We've tested on both Mac OSX (Firefox 6) and on Windows (FF 7). As a sanity check can you verify you can reproduce the problem you're describing on the latest version (SC_SNAPSHOT-2011-10-17) downloaded from this page: http://www.smartclient.com/builds/SmartClient/8.1/Eval.
      Make sure you use exactly the attached test file so we can be sure we're looking at the same code, and also clear the browser cache before hitting the page, jut to be sure you're not somehow looking at stale cached code.
      Note: You can watch the "Focus Target" entry on the Developer Console to see each component get focus.
      What we're seeing is
      - click in the text field at the top and see focus reported as being on "DF1"
      - tab through the filter editor fields (focus reported as isc_DynamicForm_0)
      - filter button (focus reported as isc_Button_0)
      - listGrid body (which is empty), focus reported as contactOnlyFinderResultTable_COFF
      - apply button - focus reported as Button_COF
      - last tab takes focus back to "DF1"

      Comment


        #33
        We are seeing very odd behaviour in our environment. Perhaps it is because the drawing of each canvas on the screen can be unpredictable.

        Just a quick question, looking at the tabIndex set on the canvases on the screen, we are seeing that the listgrid's body tab index is greater than that of the button's - is this something we should investigate further? I am only asking because we are seeing the same tabIndex in Firefox but the tabbing works perfectly in firefox now, but IE is still messed up.

        Comment


          #34
          The draw order should not matter.
          SmartClient used to assign tabIndices according to widget draw order and still will for top level widgets (no parents) but for nested components there's now some logic to put widgets into the correct logical order (so for members of a layout, as in this case, to have the focus go from the first to the last member as you'd expect logically).

          As I think we've mentioned before, this area is known to be overly complex internally, and due for an overhaul but we aren't planning to completely refactor this immediately (and certainly not in the 2.5 release branch!).
          The fact that the reported tab index of the body is not what you'd expect may not be an issue - we have some complex logic to actually intercept tab keypresses and forcibly put focus in the right place which applies here.

          So the best way to proceed is for you to show us exactly what "odd" behavior you're seeing, and for us to focus on resolving that.

          It sounds like Firefox is working now - which is great news.
          Let us know what you're seeing thats messed up in IE (with a sample we can use to reproduce), and which version of IE, and we'll take a look

          Thanks
          Isomorphic Software

          Comment


            #35
            Found new tabbing issues - tested in Nov 09-11 Build 8.1 Stream:

            Click into the first filter editor field. Start tabbing. You'll notice that once you tab into the
            date range filter:

            In IE: the next tab goes to the browser address bar.
            In Firefox: it goes to the next filter field (correct).
            In Chrome: the next tab does not go anywhere and the date range picker icon seems to remain focused.



            Code:
            countryData = [{
                continent:"North America",
                countryName:"United States",
                countryCode:"US",
                area:9631420,
                population:298444215,
                gdp:12360.0,
                independence:new Date(1776,6,4),
                government:"federal republic",
                government_desc:2,
                capital:"Washington, DC",
                member_g8:true,
                article:"http://en.wikipedia.org/wiki/United_states"
            },
            {
                continent:"Asia",
                countryName:"China",
                countryCode:"CH",
                area:9596960,
                population:1313973713,
                gdp:8859.0,
                government:"Communist state",
                government_desc:0,
                capital:"Beijing",
                member_g8:false,
                article:"http://en.wikipedia.org/wiki/China"
            },
            {
                continent:"Asia",
                countryName:"Japan",
                countryCode:"JA",
                area:377835,
                population:127463611,
                gdp:4018.0,
                government:"constitutional monarchy with parliamentary government",
                government_desc:1,
                capital:"Tokyo",
                member_g8:true,
                article:"http://en.wikipedia.org/wiki/Japan"
            },
            {
                continent:"Asia",
                countryName:"India",
                countryCode:"IN",
                area:3287590,
                population:1095351995,
                gdp:3611.0,
                independence:new Date(1947,7,15),
                government:"federal republic",
                government_desc:2,
                capital:"New Delhi",
                member_g8:false,
                article:"http://en.wikipedia.org/wiki/India"
            },
            {
                continent:"Europe",
                countryName:"Germany",
                countryCode:"GM",
                area:357021,
                population:82422299,
                gdp:2504.0,
                independence:new Date(1871,0,18),
                government:"federal republic",
                government_desc:2,
                capital:"Berlin",
                member_g8:true,
                article:"http://en.wikipedia.org/wiki/Germany"
            },
            {
                continent:"Europe",
                countryName:"United Kingdom",
                countryCode:"UK",
                area:244820,
                population:60609153,
                gdp:1830.0,
                independence:new Date(1801,0,1), 
                government:"constitutional monarchy",
                government_desc:1,
                capital:"London",
                member_g8:true,
                article:"http://en.wikipedia.org/wiki/United_kingdom"
            },
            {
                continent:"Europe",
                countryName:"France",
                countryCode:"FR",
                area:547030,
                population:60876136,
                gdp:1816.0,
                government:"republic",
                government_desc:5,
                capital:"Paris",
                member_g8:true,
                article:"http://en.wikipedia.org/wiki/France"
            },
            {
                continent:"Europe",
                countryName:"Italy",
                countryCode:"IT",
                area:301230,
                population:58133509,
                gdp:1698.0,
                independence:new Date(1861,2,17),
                government:"republic",
                government_desc:5,
                capital:"Rome",
                member_g8:true,
                article:"http://en.wikipedia.org/wiki/Italy"
            },
            {
                continent:"Asia",
                countryName:"Russia",
                countryCode:"RS",
                area:17075200,
                population:142893540,
                gdp:1589.0,
                independence:new Date(1991,7,24),
                government:"federation",
                government_desc:3,
                capital:"Moscow",
                member_g8:true,
                article:"http://en.wikipedia.org/wiki/Russia"
            },
            {
                continent:"South America",
                countryName:"Brazil",
                countryCode:"BR",
                area:8511965,
                population:188078227,
                gdp:1556.0,
                independence:new Date(1822,8,7),
                government:"federative republic",
                government_desc:3,
                capital:"Brasilia",
                member_g8:false,
                article:"http://en.wikipedia.org/wiki/Brazil"
            },
            {
                continent:"North America",
                countryName:"Canada",
                countryCode:"CA",
                area:9984670,
                population:33098932,
                gdp:1114.0,
                independence:new Date(1867,6,1),
                government:"constitutional monarchy with parliamentary democracy and federation",
                government_desc:1,
                capital:"Ottawa",
                member_g8:true,
                article:"http://en.wikipedia.org/wiki/Canada"
            },
            {
                continent:"North America",
                countryName:"Mexico",
                countryCode:"MX",
                area:1972550,
                population:107449525,
                gdp:1067.0,
                independence:new Date(1810,8,16),
                government:"federal republic",
                government_desc:2,
                capital:"Mexico (Distrito Federal)",
                member_g8:false,
                article:"http://en.wikipedia.org/wiki/Mexico"
            },
            {
                continent:"Europe",
                countryName:"Spain",
                countryCode:"SP",
                area:504782,
                population:40397842,
                gdp:1029.0,
                independence:new Date(1492,0,1),
                government:"parliamentary monarchy",
                government_desc:4,
                capital:"Madrid",
                member_g8:false,
                article:"http://en.wikipedia.org/wiki/Spain"
            },
            {
                continent:"Asia",
                countryName:"South Korea",
                countryCode:"KS",
                area:98480,
                population:48846823,
                gdp:965.3,
                independence:new Date(1945,7,15),
                government:"republic",
                government_desc:5,
                capital:"Seoul",
                member_g8:false,
                article:"http://en.wikipedia.org/wiki/South_korea"
            },
            {
                continent:"Asia",
                countryName:"Indonesia",
                countryCode:"ID",
                area:1919440,
                population:245452739,
                gdp:865.6,
                independence:new Date(1945,7,17),
                government:"republic",
                government_desc:5,
                capital:"Jakarta",
                member_g8:false,
                article:"http://en.wikipedia.org/wiki/Indonesia"
            }]
            
            
            isc.ListGrid.create({
                ID: "countryList",
                width:500, height:300, alternateRecordStyles:true,
                data: countryData,
                fields:[
                    {name:"countryCode", title:"Flag", width:50, align:"right",
                     type:"image", imageURLPrefix:"flags/16/", imageURLSuffix:".png"},
                    {name:"independence", title:"independence", filterEditorType: "MiniDateRangeItem"},
            
                    {name:"countryName", title:"Country"},
                    {name:"capital", title:"Capital"}
                ],
                autoFetchData: true,
                showFilterEditor: true
            })

            Comment


              #36
              Another incosistent tabbing behaviour - I have attached the standalone sample

              Note that the issue is again with isc.screenReader set to true.

              In IE and Chrome:

              isc.screenReader is commented out - the following behaviour occurs:
              Click inside first filter editor. Start tabbing all the way to the filter icon. Once the focus is on the filter icon, tab again. You'll see that the focus is on the listgrid. Tab again, and the focus goes to the button.

              isc.screenReader = true is set the following behaviour occurs:
              Click inside first filter editor. Start tabbing all the way to the filter icon. Once the focus is on the filter icon, tab again. You'll see that the focus is on the first column header. Tab again, and the focus goes to the first record in the listgrid. Tab again and it will go to the button.

              In Firefox - I can't even tell where the focus is once I focus into the filter icon.

              NOTE: the attached file has isc.screenReader = true commented out.
              Attached Files
              Last edited by acarur01; 9 Nov 2011, 13:02.

              Comment


                #37
                We're looking into what you reported in #35 (and we have it reproducing).

                #36 is intended behavior. Only in screenReader mode can you tab to the ListGrid headers. If you aren't using a screenReader it's expected you'd want to skip them.

                Comment


                  #38
                  The bug you reported in #35 is fixed for the next nightly. Thanks for the clear test case.

                  Comment


                    #39
                    For case #36 - how come only the first header is tabbed into?

                    I will test with the nightly for #35

                    Comment


                      #40
                      Just tested with build 2011-11-10 (http://www.smartclient.com/builds/SmartClient/8.1/PowerEdition/2011-11-10)

                      The date range item no longer messes with the focus but we are now back to our previous issue with the button not getting focus.

                      And actually, I tested the same scenario in 2011-11-09 and it is the same behaviour. Once I tab out of the filter icon, the listgrid gets focus for a split second then disappears and the next tab goes back to the first filter editor.
                      Attached Files

                      Comment


                        #41
                        On #36, once you've tabbed into the first header you can use arrow keys to navigate (standard toolbar behavior).

                        We'll take a look at this other test case and see if we can reproduce it this time. What browser does your reported behavior occur in for you?

                        Comment


                          #42
                          Sorry forgot to mention - I am using IE8

                          Comment


                            #43
                            Just a note that we have reproduced the problem where tabbing out of a grid with a modal mask up can cause the focus to go somewhere unexpected in screenReader mode. There's a native IE bug at the root of this (big surprise). We're still working on it, but as it's a native bug it's hard to provide an ETA. Keep watching this thread for now.

                            Comment


                              #44
                              Strange that it works in the Nov-04-2011 build

                              Comment


                                #45
                                We've just made a change to the 8.1 branch to fix the issue whereby in IE8, in the test case posted (#40 above), focus never goes to the "Apply" button - it jumps straight from the ListGrid body back to the filter editor.

                                The fix will be present in the next nightly build (Nov 23 and above) - can you let us know if it works for you?

                                Thanks
                                Isomorphic Software

                                UPDATE: The example in #40 also showed a behavior where even though isc.screenReader was true, focus was *not* going to the ListGrid header when tabbing (whereas for a grid outside a modal window, the header would get focus).
                                We added a fix for this issue as well - now in that example, tabbing will take focus through the filter-editor items, the filter button, the header button, then the grid body (natively focusing on actual row elements so screenReaders can read the contents), then to the apply button (then back to the start of this loop).
                                We think this takes care of all the issues you've raised with tabbing / screen reader / modal windows on 8.1. Please let us know if there are still outstanding issues in this area.
                                Last edited by Isomorphic; 22 Nov 2011, 15:16.

                                Comment

                                Working...
                                X