Selecting lookup search result puts focus at top of page

  • 1
  • Problem
  • Updated 1 year ago
  • Not a Problem
In 10.0.4, selecting a lookup search result puts focus to the top of the page. 

Expected result is that focus would remain on the lookup field. 

This makes it impossible to tab through a series of inputs that includes lookup fields. 

Similar to this issue: https://community.skuid.com/skuid/topics/-tabbing-from-lookup-field-puts-focus-at-top-of-page
Photo of Nick Jeffers

Nick Jeffers

  • 120 Points 100 badge 2x thumb

Posted 1 year ago

  • 1
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
Thanks for bringing this to us.

Could you elaborate on what you mean here? What do you mean by "focus"? It would be extraordinarily helpful if you could provide a reproduction page using standard objects in Salesforce and then paste the XML on this thread for us to examine. That is certainly the fastest approach.

Fast Resolution = Happy Customer

That's what my mama say
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
Thanks for bringing this to us.

Could you elaborate on what you mean here? What do you mean by "focus"? It would be extraordinarily helpful if you could provide a reproduction page using standard objects in Salesforce and then paste the XML on this thread for us to examine. That is certainly the fastest approach.

Fast Resolution = Happy Customer

That's what my mama say
Photo of Nick Jeffers

Nick Jeffers

  • 120 Points 100 badge 2x thumb
When an element is in focus, it is "active" or "selected"; user inputs are applied to that input element. So, when I type in a lookup field, the lookup field is in focus. \

In this case, when I click on a lookup result, I expect the lookup field to remain in focus. Instead, focus is set to the address bar of my browser. 

XML:

<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" useviewportmeta="true" showheader="true">
    <models>
        <model id="contact" limit="1" query="true" createrowifnonefound="false" datasource="salesforce" type="" sobject="Contact">
            <fields>
                <field id="AccountId"/>
                <field id="Account.Name"/>
            </fields>
            <conditions/>
            <actions/>
        </model>
    </models>
    <components>
        <basicfieldeditor showheader="true" showsavecancel="true" showerrorsinline="true" model="contact" buttonposition="" uniqueid="sk-qx58V-128" mode="edit">
            <columns>
                <column width="100%">
                    <sections>
                        <section title="Section A" collapsible="no">
                            <fields>
                                <field uniqueid="sk-qx86j-145" id="AccountId" showhelp="true" valuehalign="" type=""/>
                            </fields>
                        </section>
                    </sections>
                </column>
            </columns>
        </basicfieldeditor>
    </components>
    <resources>
        <labels/>
        <javascript/>
        <css/>
    </resources>
    <styles>
        <styleitem type="background" bgtype="none"/>
    </styles>
</skuidpage>
(Edited)
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
What browser are you using? It is expected behavior to stop the user from typing after they have selected a lookup field. However, having it automatically set the focus to the browser URL sounds unusual. I was unable to reproduce that in Chrome. Do you have a specific setting in your browser that does this? 

Steps I'm using to repro:
1. Select the account ID
2. Type a new one in
3. Select from the drop down by clicking
4. Try to continue typing immediately from there. 
5. It is here that I observe nothing happening. The letters I'm jammering on keyboard don't materialize anywhere. 
Photo of Nick Jeffers

Nick Jeffers

  • 120 Points 100 badge 2x thumb
Thanks for looking into this. I'm using Chrome.

The issue becomes more obvious when there's another field on the page and you try to focus the next field by pressing "Tab" after selecting a lookup result. 

My experience is not quite that the address bar of the browser immediately gains focus after selecting a lookup result; rather, pressing tab after selecting a lookup result will focus the address bar. It may be more accurate to say that the lookup field simply loses focus. It sounds like you're saying this might be the expected behavior.

The issue is that I have pages where users expect to be able tab through each input. I'm almost certain that this wasn't an issue before. But now whenever there's a lookup field, users are taken out of the data entry flow and have to click on the next field to focus it. 
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
It is my understanding that pressing the tab will eventually bring you to the URL page eventually in any case on any website. Even on this community that will end up happening. It sounds like the field you are using just happens to be the last before the tab then selects URL bar
Photo of Nick Jeffers

Nick Jeffers

  • 120 Points 100 badge 2x thumb
I know it will happen eventually. I guess a better way to put this is that lookup fields in edit mode lose focus after selecting a lookup result. As far as I can tell, that didn't happen before, and it prevents users from being able to tab through inputs on a page and thereby slows down data entry. 

What I'm saying might make more sense if you try enter data into all three fields on this page using only your keyboard: 

<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" useviewportmeta="true" showheader="true">
<models> <model id="contact" limit="1" query="true" createrowifnonefound="false" datasource="salesforce" type="" sobject="Contact"> <fields> <field id="AccountId"/> <field id="Account.Name"/> <field id="FirstName"/> <field id="LastName"/> </fields> <conditions/> <actions/> </model> </models> <components> <basicfieldeditor showheader="true" showsavecancel="true" showerrorsinline="true" model="contact" buttonposition="" uniqueid="sk-qx58V-128" mode="edit"> <columns> <column width="100%"> <sections> <section title="Section A" collapsible="no"> <fields> <field uniqueid="sk-vw1X_-109" id="FirstName" valuehalign="" type=""/> <field uniqueid="sk-qx86j-145" id="AccountId" showhelp="true" valuehalign="" type=""/> <field uniqueid="sk-vw4UO-123" id="LastName"/> </fields> </section> </sections> </column> </columns> </basicfieldeditor> </components> <resources> <labels/> <javascript/> <css/> </resources> <styles> <styleitem type="background" bgtype="none"/> </styles> </skuidpage>
(Edited)
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
Thank you for creating that page.

On it, if I first select the "First Name", edit it with typing, then I tab down, erase what is in the account ID, type something new, arrow down with the keyboard, then press enter when I find the one I want, then I press tab, focus returns to the account ID, highlights all of it in blue, then if I press tab again, it goes to Last name. It isn't coming back up to the URL for me. 

What browser are you using and what version is it on?