Avoiding dead-end query results

Be careful when rendering the selected attribute values of multi-or attributes. It is possible to create an interface that might result in dead ends when removing selected attribute values.

Consider this example: an attribute Alpha has been flagged as multi-or, and contains values 1 and 2. Attribute Beta contains value 3.

Assume the user’s current query contains all three values. The user’s current navigation state would represent the query:
"Return all records tagged with (1 or 2) and 3"
If the user then removes one of the values from Attribute Alpha, a dead end could be reached. For example, if the user removes value 1, the new query becomes:
"Return all records tagged with 2 and 3"

This could result in a dead end if no records are tagged with both value 2 and 3.

Due to this behavior, it is recommended that the user interface be designed so that the user must be forced to remove all values from a multi-or attribute when making changes to the list of selected attribute values.