Autocomplete widget for select one questions not working in safari

78 views
Skip to first unread message

fmu...@ona.io

unread,
Jun 1, 2018, 4:23:39 AM6/1/18
to enketo-users
Hello, 

The autocomplete widget doesn't seem to be working on Safari. I have applied the autocomplete widget to a select one question. On Chrome, I get a drop down button and the answer choices are populated when I click on the drop down. On Safari, there is no drop down and answer choices are only populate when I start typing. Is this an issue with Safari or is there something that I am missing? I am also using the Grid theme in my XLSForm. See attached my sample form. 




fav.xlsx

Martijn van de Rijdt

unread,
Jun 1, 2018, 12:47:26 PM6/1/18
to enketo...@googlegroups.com
Hi Faith,

It's true that Safari (and iOS) has a different autocomplete widget. In modern browsers, Enketo is using a native functionality. Safari doesn't support this yet, and is using a Javascript workaround.

Apart from the UI differences, performance is also much degraded in Safari. In the next week's newly optimized version of Enketo we will be able to load autocomplete lists of many thousands of items in a few seconds in Chrome and Firefox (our test form has 16,500 medications and ran fine!). In Safari (and also in Edge for a different reason) this form won't even finish loading (even after 20 minutes). 

Once Safari starts adopting the feature (called HTML datalist), Enketo will automatically start using it. I have not found any information from Apple about the timeline for this unfortunately.

Note, it is possible to let all browsers use the slow javascript widget (one line code change). This would provide a more consistent experience, but at the large cost of performance for over 90% of our users. It would also be possible to tweak the javascript widget UI a bit. It hasn't been a priority yet for Enketo's sponsors (nor for me).

Cheers,
Martijn 


On Fri, Jun 1, 2018 at 2:23 AM, <fmu...@ona.io> wrote:
Hello, 

The autocomplete widget doesn't seem to be working on Safari. I have applied the autocomplete widget to a select one question. On Chrome, I get a drop down button and the answer choices are populated when I click on the drop down. On Safari, there is no drop down and answer choices are only populate when I start typing. Is this an issue with Safari or is there something that I am missing? I am also using the Grid theme in my XLSForm. See attached my sample form. 




--
You received this message because you are subscribed to the Google Groups "enketo-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to enketo-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Pushing data since 2012.

Enketo    |    LinkedIn    |    GitHub    |    Twitter    |    Blog

-- 
Revolutionizing data collection since 2012.

Enketo    |    LinkedIn    |    GitHub    |    Twitter    |    Blog

fmu...@ona.io

unread,
Jun 4, 2018, 2:56:37 AM6/4/18
to enketo-users
Hi Martijn, 

Thank you for the update. Looking forward to the newly optimized version of Enketo. The autocomplete widget doesn't seem to be working on Chrome in iOS devices as well. 

Regards, 
Faith


On Friday, June 1, 2018 at 7:47:26 PM UTC+3, Martijn van de Rijdt wrote:
Hi Faith,

It's true that Safari (and iOS) has a different autocomplete widget. In modern browsers, Enketo is using a native functionality. Safari doesn't support this yet, and is using a Javascript workaround.

Apart from the UI differences, performance is also much degraded in Safari. In the next week's newly optimized version of Enketo we will be able to load autocomplete lists of many thousands of items in a few seconds in Chrome and Firefox (our test form has 16,500 medications and ran fine!). In Safari (and also in Edge for a different reason) this form won't even finish loading (even after 20 minutes). 

Once Safari starts adopting the feature (called HTML datalist), Enketo will automatically start using it. I have not found any information from Apple about the timeline for this unfortunately.

Note, it is possible to let all browsers use the slow javascript widget (one line code change). This would provide a more consistent experience, but at the large cost of performance for over 90% of our users. It would also be possible to tweak the javascript widget UI a bit. It hasn't been a priority yet for Enketo's sponsors (nor for me).

Cheers,
Martijn 

On Fri, Jun 1, 2018 at 2:23 AM, <fmu...@ona.io> wrote:
Hello, 

The autocomplete widget doesn't seem to be working on Safari. I have applied the autocomplete widget to a select one question. On Chrome, I get a drop down button and the answer choices are populated when I click on the drop down. On Safari, there is no drop down and answer choices are only populate when I start typing. Is this an issue with Safari or is there something that I am missing? I am also using the Grid theme in my XLSForm. See attached my sample form. 




--
You received this message because you are subscribed to the Google Groups "enketo-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to enketo-users...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Pushing data since 2012.

Enketo    |    LinkedIn    |    GitHub    |    Twitter    |    Blog

Martijn van de Rijdt

unread,
Jun 4, 2018, 11:36:25 AM6/4/18
to enketo...@googlegroups.com
The autocomplete widget doesn't seem to be working on Chrome in iOS devices as well. 

Not working at all? If so, could you perhaps try the autocomplete widget https://enke.to/::widgets on Chrome on iOS? That does work for me. If it doesn't please send me the form.

If the form doesn't use external data, it would also be interesting to try the Enketo preview on: https://opendatakit.org/xlsform/.

Thanks,
Martijn

To unsubscribe from this group and stop receiving emails from it, send an email to enketo-users+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Pushing data since 2012.

Enketo    |    LinkedIn    |    GitHub    |    Twitter    |    Blog

Mark Fishbaugher

unread,
Jun 4, 2018, 11:41:11 AM6/4/18
to enketo-users
I have noted this problem on iOS with both Safari and Chrome browsers.  Is there a recommended browser for iOS that does support select1 elements with autocomplete?

Martijn van de Rijdt

unread,
Jun 4, 2018, 12:38:43 PM6/4/18
to enketo...@googlegroups.com
Hi Mark,

Thanks for this. If you can help reproduce it, it will be fixed asap. At the moment, I cannot reproduce it so it's either related to the form, or related to an older version of Enketo. Are your able to reproduce it with the form I linked above?

The browsers are basically all the same on iOS. They all use the same (crappy) engine. I recommend using Safari as it's slightly less bad, (only on iOS!). More details here: https://enketo.org/faq/#browsers

Best regards,
Martijn

--
You received this message because you are subscribed to the Google Groups "enketo-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to enketo-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Pushing data since 2012.

Enketo    |    LinkedIn    |    GitHub    |    Twitter    |    Blog

Mark Fishbaugher

unread,
Jun 4, 2018, 4:09:08 PM6/4/18
to enketo-users
Martijn,

I have published the subject form above (fav.xlsx) to my website for testing.  If you point iOS Safari to www.agilemobilesoft.com there are several public form for testing.  The lasts link is "Select Autocomplete Test"

When go to this form in Safari (iOS version 11.2.5) I observe the following:

1) On focus to the field, there is no drop list and there  is no down arrow control to drop the list.  If I type a letter (G) I get the filtered list:

2) If I delete the letter I just typed,  I get the whole list (unfiltered):

3) I can then make a selection from the list and the drop list disappears.  If I re-focus on the control, no drop list appears and there is no down arrow control/element to re-display the drop list.

4) If I edit the selection by deleting characters, then the drop list (filtered) re-appears.  If I delete all the characters, the unfiltered list appears:

5) Same behavior on iOS 9.3.5 device (older iPad3)

6) I published another form that turns off the grid theme (www.agilemobilesoft.com, Select Autocomplete Test No Grid), but is otherwise the same.  Same behavior with different appearance.

7) I updated my iOS phone (iPhoneSE)  to the latest release (11.4).  Same behavior.

It is unfortunate that this select1/autocomplete feature is not working for any iOS device and I hope that you can reproduce the behavior and maybe come up with a work around.

Thanks for all your hard work on an amazing product
MJF


On Friday, June 1, 2018 at 1:23:39 AM UTC-7, fmu...@ona.io wrote:

Mark Fishbaugher

unread,
Jun 4, 2018, 4:28:23 PM6/4/18
to enketo-users
I change the published form at www.agilemobilesoft.com to a single grid themed form including some notes about the purpose of the form.  It is called:Select_One Autocomplete iOS Test
I hope you will be able to reproduce my results Martijn.

Mark Fishbaugher
Agile Mobile Soft

Martijn van de Rijdt

unread,
Jun 4, 2018, 5:23:07 PM6/4/18
to enketo...@googlegroups.com
Thanks Mark,

Sorry for the confusion. I thought you were referring to the 'not working' issue (the last message of Faith). 

For the UI differences between Safari and modern browsers, that is known. See my initial response at the top of this thread. When there is pressure from one of Enketo's sponsor, the UI (for Safari) could be tweaked a bit. However, that may not happen before Apple updates Safari to support autocomplete (datalist) properly.

Cheers,
Martijn

--
You received this message because you are subscribed to the Google Groups "enketo-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to enketo-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Pushing data since 2012.

Enketo    |    LinkedIn    |    GitHub    |    Twitter    |    Blog

Mark Fishbaugher

unread,
Jun 4, 2018, 5:52:02 PM6/4/18
to enketo-users
Martijn,

I see the source of the confusion now and I think I understand the basic problem of iOS not supporting the WW3 standard html datalist feature. This limitation sure seems to put a kink in "enketo as the solution for ODK/iOS".  Bummer.

I think what Faith was saying is that Chrome hosted by the iOS exhibits the same behavior as Safari in regards to select one/autocomplete.

Just poking around I saw one posting on stack overflow related to Safari/datalist:


I assume you have probably seen that one and I was wondering if you have tried the <option> withing <datalist> suggestion or dismissed it as too kludgy.

Again, thanks for a great product

MJF





To unsubscribe from this group and stop receiving emails from it, send an email to enketo-users...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Pushing data since 2012.

Enketo    |    LinkedIn    |    GitHub    |    Twitter    |    Blog

Martijn van de Rijdt

unread,
Jun 4, 2018, 6:50:13 PM6/4/18
to enketo...@googlegroups.com
Hi Mark,

Yes, I think you're right about what Faith was reporting with Chrome on iOS. 

That workaround with <select> would remove the autocomplete part (it would be regular select_one essentially). There is scope to improve the current Safari JS widget though, e.g by adding a caret or some other 'reveal' behavior.

I'm also curious what Apple will announce for Safari improvements this week (at WWDC).

Thanks for helping,

Cheers,
Martijn

To unsubscribe from this group and stop receiving emails from it, send an email to enketo-users+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Pushing data since 2012.

Enketo    |    LinkedIn    |    GitHub    |    Twitter    |    Blog
Reply all
Reply to author
Forward
0 new messages