Plone 5 is doing a smart improvement unifying the widget used for referencing contents (thanks mockup ).
Now we finally have the same widget in:
- Contents relateditems-likes field
- Internal link from TinyMCE
- Portlets that reference stuff
- Content rules
- ...more?
Unluckily we had some negative feedback from customers who used this widget. I'm wondering if this has been developed from scratch in mockup or came from a 3rd-party work.
At first glance it seems to suffer of accessibility issues. It can be used with keyboard, but I find a lack of alternative text or WAI-ARIA attributes. I didn't gone deeply inside this but I fear that WCAG are not there.
Apart the accessibility issues I got some negative feedback about usability (both customers said that Plone 4 reference was a lot easier to use... and I agree).
Let me recap and show those [issues].
The widget is logically splitted in two sections: what I call the Explore Section™...
... and what I call the Search Section™:
[1] Icons that activates those two section are really small and unclear (not even sure they seems clickable).
The Search Section icon is more or less like an "home" icon, and in facts it became a root link for the breadcrumbs that appear later, but this became clear only when opened (and after some time spent on using it).
OK, not a big problem there.
[2] The explore section is confusing the user. Clicking on folders names will get an "empty" label if the folder not contains subfolder, or you will get the navigable subtree.
Clicking of the arrow on the right will shift the user in the Search Section™, restricting the search to the selected folder (Restricted Search Section™)
[3] If a user starts exploring the site from the Explore Section can't select a leaf and he's forced to bet on a folder and switch to the Restricted Search Section™. This is annoying.
[4] Let say that the user selected the wrong folder from the Explore Section. He can't easily move back from the Restricted Search Section... he must start the search from scratch.
The fact that the Explore Section can't be used for selecting any elements, IMO leads users to use only the Search Section. I think that on old Plone versions the most used feature of the reference engine was the ability to navigate the site (pure search became quickly useless on not-small sites).
[5] Seems that search use the full text search index so you will probably find a lot of unwanted contents. Old Archetypes reference field worked the same way? I don't remember (as I said, I didn't used the search often).
[6] The user can select any kind of document. Old widget simply display as selectable only allowed types. Now users can only wait for the save attempt and get an error in that case.
I found this really annoying. We have a site where we developed a clone of the Image content type (Figure) with some additional features. Figures and Images were loaded in the same folder, but we have also a tile that needs to reference only Figures.
The lack of information (at least a tooltip) about the portal type transformed this configuration in a "Where's Waldo" game (yeah, we didn't provided a new icon for the new type, but adding icons is not a 3 minutes operation now).
[7] On icons again. Folder icons are not displayed. It seems that this widget is the only place left in Plone where real HTML images are used, and not just CSS. So the "document_icon.png" image is still there in Plone but not the "folder_icon.png"? Not sure about how this work (for example: files specific icons are there).
...(Disclaimer: I'm a big fan of old-style-img tag for icons, I think we have lost something by turning on the dark side of CSS icons, but still I find some inconsistency with this behavior)...
So, before star opening issues I'd like to know your impression about this. Nobody else raised similar notes about the new widget? Can we do something better?
Let say I'd like to work on this: I'm not 100% familiar on the way this work right now, but I imagine that lot of this work should be done on the mockup size. Isn't it?
Note. I have also lot to say about this widget from a developer point of view but I don't want to go off-topic (maybe another post in few days )