Well, I have heard back from support and found out that these features were intentionally removed in the newer versions because they were "potentially confusing." I dont get it! We were not confused by those features. Our customers are pissed because now it takes twice as long to fill out their forms and like 5 times as many clicks. We are going to have to redesign many of our forms now and try to come up with a new approach.
Although we are "confused" by the fact that anyone else was "potentially confused" by these features, I thought I would post the answer here for anyone else looking for these missing options.
Thank you very much for providing this feedback, and I’m very sorry that you are so unhappy about the replacement autocomplete item type. I would like to try and explain a bit more about the background, and discuss our possible plans for the future (obviously subject to change as always, but just to try and reassure you).
Just to try and explain a bit more about the nature of the change.
This item was replaced in 18.1 for a number of reasons; the old jQuery based implementation was based on a very old jQuery autocomplete plug-in which had a dependency to an old jQuery Migrate version which we needed to get rid of, to be able to update to the latest version of jQuery in APEX 18.1. In addition it had poor accessibility and Dynamic Action support. We upgraded it to use the JET ‘Input Search’ form control, which offered much better accessibility, and no such dependency to jQuery Migrate, greater functionality and inline with our general direction to adopt more of JET. This did not however have any option for ‘select first’ or ‘automatic fill’ though.
In addition, the design patterns we follow have changed on this particular functionality over the years. The original WAI-ARIA design pattern for ‘Auto complete’ did not contain this ‘select first’ kind of pattern in its keyboard interaction (which I think is the key thing in terms of the functionality the customer is missing), and instead describes the ‘DOWN’ key then ENTER approach mimic-ing a select list as it states, (although there was an ‘Optional’ part describing auto-fill, but only after DOWN keystroke). The more recent ARIA 1.1 design pattern for combobox (the auto complete pattern was deprecated in ARIA 1.1, and folder into combobox), has moved on since this, and does actually now have something similar to the ’select first’ functionality (or as they call it ‘List autocomplete with automatic selection’ in the spec). I think this is the part that is currently missing from the current implementation, and something we need to support in the future. We had clearly failed to appreciate the significance of this change, as you highlight.
Just to pick up on the point regarding the difference between 19 and 18. There was bug #27766712 (AUTO COMPLETE IN INTERACTIVE GRID SHOULD NOT GO TO NEXT LINE WHEN ENTER PRESSED), which sounds very similar. Basically this bug was that when the autocomplete item was used in an Interactive Grid (IG), when pressing ENTER to select an option from the autocomplete list, the user would incorrectly go to the next row, instead of selecting the option, so a bad bug. However this was fixed in 18.2, so if you have upgraded from 5.1 to 18.2, you should benefit from this fix, and at least be able to select an option without having to use the mouse.
I wanted to also highlight the difference in user interaction between the old and the new. As an example, let’s say you are searching for entry ‘smith’.
With the old implementation, you would:
1) Enter ’sm’
2) Assuming there were no other entries beginning with ‘sm’, ‘smith’ would be selected as the first entry
3) Hit TAB which would close the entry list.
4) Hit TAB again to leave the item.
With the new JET based implementation (in 18.2 with keyboard selection fixed), you would:
1) Enter ‘sm’
2) Again, ‘smith’ would be first entry in list, but not selected now
3) Hit DOWN arrow once to navigate to ‘smith'
4) Hit ENTER to select it
5) Hit TAB to leave the item.
So this should only result in one extra keystroke to select the entry. Granted this can add up when dealing with many many separate inputs, and I totally appreciate this is not what your users are used to.
Unfortunately there is nothing we can now do for APEX 19.1. However we are already working on an enhanced Popup LOV for APEX 19.2, which will offer some similar functionality to the autocomplete item (it now has an ‘Inline’ display mode to show a similar list of options directly under the item). I will see if it’s possible to integrate a similar ‘select first’ option here, allowing for faster selection of the first entry in the list. We are also considering upgrading the current autocomplete item to use the new ‘Combobox one’ form control from JET, and where we will also consider integrating a similar option as well. Again, this is all subject to change and there is not guarantee this will make it in, but is definitely something we will look at.
Again, huge apologies to you, and I hope this information may be of some use.
Thank you Anthony Rayner-Oracle for your detailed response. I really appreciate your feedback, here and in my SR. I totally understand why you made the switch, I guess we are just experiencing some frustration because we just went live with this application a couple months ago and then upgraded and lost valued functionality. Rapid data entry was one of the requirements from the start and we specifically demo that field type because it closely mirrored the Forms and Reports behavior so they specifically requested this functionality. We are now scrambling to figure out what we can do now. Unfortunately, every other available option adds "clicks" to their process.
I did want ask though, in 18.2 they have reported that they cannot use the arrows at all. I tried it and it appears that when they "Add Row" and use the autocomplete field the first time, the arrows dont work. They move the cursor to the next line in the list. They have to use the mouse to make their selection. After the first time, the arrows seem to work correctly to scroll through the list of suggestions. Is there something we can do to fix that without upgrading to 19 yet? It would be nice to at least let them enter without the use of the mouse.