H1. Difficulty constructing search queries

Situation Definition:

A situation that arises from difficulty formulating a search statement.

Factor(s) Leading to the Situation:

    • Inadequate feedback: dynamic

    • Inadequate knowledge:

    • Inadequate knowledge:

    • Unclear instruction:

Guideline or Design Recommendation:

    1. Explain how to construct a search statement and select search terms for effectively formulating a DL search
    2. Offer assistance during the process of formulating a search statement
    3. Indicate errors as they occur when entering search statements

Rationale and Objective:

Users sometimes have difficulty constructing search queries in DLs and may apply simple keywords or a lengthy query, as they are not certain as to the level of specificity that is most effective when searching a DL.


are helpful to identify more related or relevant terminology. Spelling errors are another type of mistake in construction of search queries, which can be corrected by auto-completion and/or related text suggestions. The presence of auto-suggestions should be recognizable by

users, and users should be able to select the suggested terms using the keyboard.

code, such as “aria-live” can be used to inform BVI users about “list status” changes as BVI users type in the input field. In many DLs, the search engine works based on a Boolean search algorithm where search terms should adhere to a controlled vocabulary; therefore, users may not know which terms are acceptable. Showing popular terms and/or controlled vocabulary terms occurring in the digital collection may be helpful in reducing instances of this problem.

Techniques and Methods:

1.1. Provide general help information on the general Help page
1.2/2.1. Provide

tips (e.g., search tips, auto suggestion tips) for search statement construction
2.2. Implement

for related terms derived from a controlled vocabulary in the search box. There are several open source algorithms that can be applied. The performance of the algorithm for auto-suggestions is critical.
2.3. Implement invisible search suggestions
2.4. Use

markup on the input field to enable the selection of suggested terms
3.1. Present spelling suggestions based on a dictionary when spelling errors are detected
3.2. Implement appropriate algorithms to show spelling suggestions directly in the search input field
3.3. Provide text and sound alerts to indicate the presence of errors and suggested terms in the search box

Recommended Features:

1.1. General help (See example 1.1/1.2/2.1)

(See example 1.1/1.2/2.1)

for related terms (See example 2.2/2.3/2.4)
2.2.b. Search box with related terms (See example 2.2/2.3/2.4)
2.3. Invisible search suggestions (See example 2.2/2.3/2.4)

elements (e.g., aria-live, aria-active descendant attribute, role, aria-autocomplete, aria-owns, aria-label, aria-described by, and aria-selected) (See example 2.2/2.3/2.4)
3.1.a. Auto-suggestion for spelling (e.g., Did you mean…?) (See example 3.1.a)
3.1.b. Search box spelling suggestions (See example 3.1.b)
3.3. Text and sound alerts (See example 3.3)


1.1/1.2/2.1. General help and context-sensitive help: Good example

HathiTrust provides general help in the top navigation bar and also provides context-sensitive help tips for search in the search section.

Top navigation bar with Search tips option beneath search bar

Search Tips menu option available within Searching and Viewing Books section

2.2/2.3/2.4. ARIA elements for auto-complete and suggestions regarding related terms: How to example

aria-autocomplete= “both”

<input aria-describedby= “instruction”>
<div id = “instruction”
aria-live= “assertive” style= “display:none;”> ….describe the instruction for
autocomplete such as use up and down key to review suggestions </div>
<li role= “option”
aria-selected= “false”>apple</li>
role= “combobox”
aria-activedescendant= “suggestion1”
aria-live= “assertive”

Simple Search bar with key word (vocabulary words) suggestions offered as user types in search

3.1.a. Auto-suggestion for spelling (e.g., Did you mean…?): Good example

Google provide auto-suggestion if the typed search term have a spelling error.

Google search interface for "siracuse" with suggestion "Did you mean: syracuse"

3.1.b. Search box spelling suggestions: Good example

Google provides spelling suggestions when a user types misspelled search terms.

Google search interface with user typing "best desktop compuer ch" and search suggesting corrections "best desktop computer cheap" and "best desktop computer chair"

3.3. Text and sound alerts: How to example

Use Aria-invalid to check spelling error according to Using Aria-invalid to indicate an error field at WCAG.

<input id= “search box” id= “searchbox” aria-required= “true” type= “text” aria-invalid= “spelling”>

Related Resources:

    1. Cifcioglu, A. (2017). Anatomy of an Accessible Auto Suggest. Retrieved from https://uxmastery.com/anatomy-of-an-accessible-auto-suggest/
    2. WCAG 2.0 Guideline 3.3 Input assistance. Retrieved from https://www.w3.org/TR/WCAG20/#minimize-error
    3. Xie, I. & Cool, C. (2009). Understanding help seeking within the context of searching digital libraries. Journal of the American Society for Information Science and Technology, 60(3), 477-494.

See also:

Help-seeking Situations > H. Difficulty constructing or refining searches