eApp UI Components
These UI components are design specifically for use in eApp. They are to be used when building any background check related form (e.g. SF-86, SF-85, and SF-85p).
These components are built using the U.S. Web Design System. Not all components used in eApp are documented here. Basic components such as colors, buttons, links, icons, etc. are taken directly from the U.S Web Design System.
Typography
Heading 1 (3rem)
Heading 2 (2.5rem)
Heading 3 (2rem)
Heading 4 (1.7rem)
Body copy (1.7rem). Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vulputate vulputate odio, dapibus pretium nibh dapibus eget. Aliquam ultrices mattis metus a interdum. Vestibulum dapibus laoreet porta. Duis interdum ex sed eros vestibulum, id cursus erat sagittis. Nunc id turpis quis arcu semper consectetur. Nullam at suscipit enim. Sed vulputate vestibulum ullamcorper. Vivamus vulputate mauris eu venenatis tempus
Alert Blocks
Alert types
Success Status
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.
Warning Status
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.
Error Status
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.
Information Status
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.
-
When to use
- Use an alert banner when you need to prompt the users attention. Alerts are primarily used for holding additional information about questions as well as displaying validation errors.
- When the applicant is required to do something in response to an alert, let them know what they need to do and make that task as easy as possible. Think about how much context to provide with your message. For example, a notification of a system change may require more contextual information than a validation message. Write the message in concise, human readable language; avoid jargon and computer code.
- Be polite in error messages — don’t place blame on the applicant.
- Applicants generally won’t read documentation but will read a message that helps them resolve an error; include some educational material in your error message.
- But don’t overdo it — too many notifications will either overwhelm or annoy the applicant and are likely to be ignored.
- Allow a applicant to dismiss a notification wherever appropriate.
- Don’t include notifications that aren’t related to the applicant’s current goal.
Section review summary alert
Here is a list of 5 questions with issues
Full name
Other names used Phone number 1 Date of birth Place of birth-
When to use
- Use a section review summary alert block when showing an applicant each incomplete question on the section review page.
- If an applicant clicks a link in the section review summary alert block the page should scroll to the selected question.
- Links should dissappear from the summary alert block once the necessary field is valid and complete.
- The entire summary alert block should dissappear once all fields indicated are valid and complete.
Form review summary alert
Information about you
- Other names used
- Your contact information
- Date of birth
- Place of birth
- Social Security Number
- Your identifying information
-
When to use
- Use a Form review summary alert block when showing an applicant each incomplete section when reviewing the entire form before submission
- If an applicant clicks the "back to section" button they should be directed to the proper section of the form.
- A formm review summary alert should dissappear once all fields within the necessary section are valid and complete.
Help Block
-
When to use
- Use a help block when an applicant may have additional questions about a particular question within the form.
- Help blocks should be no more than 2-3 sentences.
- Help blocks keep the applicant within the current flow allowing them to reference the associated fields and neighboring content.
- When help information is short (1-2 sentences) it doesn't need to be hidden in a help block. Instead include the help information directly on the form.
- When help information is long consider including an external link to a separate page.
- Help icons should always be aligned with a fieldset label or a field label.
- Applicants should be able to close a help block by clicking on the help icon again or the "close help block" link within the alert.
Input Blocks
Single/multi-line text inputs
-
When to use
- If you can’t reasonably predict a applicant’s answer to a prompt and there might be wide variability in applicants’ answers.
- When using another type of input will make answering more difficult. For example, birthdays and other known dates are easier to type in than they are to select from a calendar picker.
- When applicants want to be able to paste in a response.
- When applicants are choosing from a specific set of options.
- The length of the text input provides a hint to applicants as to how much text to write. Do not require applicants to write paragraphs of text into a single-line input box; use a text area instead.
- Text inputs are among the easiest type of input for desktop applicants but are more difficult for mobile applicants.
- Only show error validation messages or stylings after a applicant has interacted with a particular field.
- Avoid using placeholder text that appears within a text field before a applicant starts typing. If placeholder text is no longer visible after a applicant clicks into the field, applicants will no longer have that text available when they need to review their entries. (People who have cognitive or visual disabilities have additional problems with placeholder text.)
Select input
-
When to use
- Use sparingly — only when a applicant needs to choose from about seven to 15 possible options and you have limited space to display the options.
- If the list of options is very short. Use radio buttons instead.
- If the list of options is very long. Let applicants type the same information into a text input that suggests possible options instead.
- If you need to allow applicants to select more than one option at once. applicants often don’t understand how to select multiple items from dropdowns. Use checkboxes instead.
- Avoid making options in one dropdown menu change based on the input to another. Applicants often don’t understand how selecting an item in one impacts another.
Email input
-
When to use
- Use only when collecting an email address from an applicant.
- Email inputs are automatically validated to ensure properly formatted email addresses.
Dollar amount input
-
When to use
- Use when collecting dollar amounts from an applicant
- Dollar amount inputs should use type="number" for proper fomatting.
Input modifiers
-
When to use
- Use input modifiers when you need to allow an applicant signify additional attributes for a field (e.g. initial only or no middle name).
- Use input modifiers when allowing an applicant to disable a field if they don't know the information or the information is not applicable.
- Don't use modifiers to ask an additional question.
- When an applicant checks "Not applicable" or "I don't know" for a given input, the input should become disabled even if it already has information typed into it.
- If stacking input fields with modifiers (e.g. full name inputs) use modifiers on the right so as not to interfere with input labels.
Alternate input label style
-
When to use
- Use only when the normal label style is not needed. For example, when an input is not part of a fieldset you will want the label style to match the fieldset legend for design consistency.
- Hair color is a good example of this pattern.
Input sizing
-
When to use
- Varying input sizing gives the applicant a hint at the length of text to write for a particular question.
- For example, you would use a small input size for collecting a weight from an applicant and a large input size for collectin a name of a school.
- Inputs with size classes applied will be full width on mobile.
Validation
-
When to use
- Validation is used to signify to the applicant the state of the information they input into the form.
- Untouched: fields that have not had any information added to them.
- Incomplete: fields that hold invalid information and/or required fields that are empty.
- Complete: fields that hold valid infomation and/or required fields that are filled in.
- Validation should be triggered upon exiting a field. For fieldsets like addresses, this may apply to the fieldset as a whole.
Checkbox/Radio Button Blocks
Checkbox block
-
When to use
- When a user can select any number of choices from a set list.
- When applicants need to see all the available options at a glance.
- If there are too many options to display on a mobile screen.
- If a user can only select one option from a list (use radio buttons instead).
- Applicants should be able to tap on or click on either the text label or the checkbox to select or deselect an option.
- Avoid using negative language in labels as they can be counterintuitive. For example, “I want to receive a promotional email” instead of “I don’t want to receive promotional email.”
Radio button block
-
When to use
- When applicants need to select only one option out of a set of mutually exclusive choices.
- When the number of available options can fit onto a mobile screen.
- Consider checkboxes if applicants need to select more than one option or if there is only one item to select.
- Consider a dropdown if you don’t have enough space to list out all available options.
- If applicants should be able to select zero of the options.
- Applicants should be able to tap on or click on either the text label or the radio button to select or deselect an option.
- Use caution if you decide to set a default value. Setting a default value can discourage applicants from making conscious decisions, seem pushy, or alienate applicants who don’t fit into your assumptions. If you are unsure, leave nothing selected by default.
Inline Radio Button Block
-
When to use
- When applicants need to choose “yes” or “no”
- When the list of options is less than or equal to 3.
- If the list of options is greater than 3
- Applicants should be able to tap on or click on either the text label or the radio button to select or deselect an option.
Validation
-
When to use
- When an applicant has not selected any option in a list of radio buttons or checkboxes.
Phone Number Block
-
When to use
- When collecting a phone number from an applicant.
- Optionally allow for an "I don't know" checkbox depending on the question requirements.
- Don't auto tab between form fields. This could confuse applicants as they are trying to recall a phone number.
Date Blocks
From/to date block
From date
To date
-
When to use
- The from/to date block is used to collect a date range from an applicant.
- Use a month/day/year block when you are only collecting a single date from an applicant.
- Don't auto tab between form fields. This could confuse applicants as they are trying to recall a date.
- Error validation should be triggered if month entered doesn't exist
- Error validation should be triggered if day entered doesn't exist in given month
- Error validation should be triggered if year is too far in the past or future.
- Error validation should be triggered if an applicant enters a "to" date that is before a "from" date in the same entry.
Month/Day/Year Block
-
When to use
- The month/day/year date block is used to collect a single date from an applicant.
- Use a from/to date block if you are collecting a date range from an applicant.
- Don't auto tab between form fields. This could confuse applicants as they are trying to recall a date.
- Error validation should be triggered if month entered doesn't exist
- Error validation should be triggered if day entered doesn't exist in given month
- Error validation should be triggered if year is too far in the past or future.
- Day input may be optionally ommited if only the monty and year is needed from an applicant.
Address Block
-
When to use
- Use an address block when you need to collect a full address from an applicant.
- Addresses can either be inside or outside the United States
- Another input should be chosen if you are not collecing a formatted address from an applicant. (e.g. school name)
- Address format should update depending on country chosen.
- For addresses within the United States applicants should see fields for street, apt/suite/building/floor, city, state, and zip.
- For addresses outside the United states applicants should see fields for street, apt/suite/building/floor, and city.
- Address format should update if applicant chooses that the address is a APO/FPO/DPO address.
- Fields may be optionally ommited from the addres block if they are not needed for a particular question.
- Address blocks should be validated against USPS for accuracy.
- Validation for address should not occur until all fields are filled in.
Accordion Block
-
When to use
- When applicants need to answer a repetetive set of the same questions (e.g. list of places that they have lived).
- If an applicant is only answering a set of questions once withn a given section/subsection.
- Some piece of entered information within the accordion should become the title for the accordion in order to help the applicant keep context (e.g. street name, person's name, etc.).
- Accordion headers should fix to top of window on scroll in order to keep context of a given set of questions.
- If a set of questions is timeline based (e.g. places where you have lived) the accordion elements should automatically order themselves based on the dates provided from most recent to furthest in the past.
- The reorder should be triggered when the applicant answers "yes" or "no" to adding more entries to the list.
- Applicants should have to confirm when they are removing an accordion entry.
- New accordion entries should always be added to the bottom of the accordion list.
- Applicants should be able to open and close an accordion at any time.
Back/Next Block
-
When to use
- When allowing an applicant to progress forward and backward through sections in the form.
- Next button should always show name of section/subsection immediately following the current section/subsection a applicant is on.
- Back button should always show name of section/subsection immediately prior the current section/subsection an applicant is on.
- Applicants should be able to progress foward and backward in a form at any time.
- If there are no sections/subsctions prior to the current section the back button should not show.
- If there are no sections/subsctions after to the current section the next button should not show.
Sidenav Block
Timeline and Counter Blocks
Timeline Block
-
When to use
- Use a timeline block to show an applicant their progress when filling out information within a designated block of time (e.g. provide all the places you've lived over the past 10 years).
- The timeline progress bar fill amount should be relative to the timespan given for each entry.
- The timeline progress bar fill location should be relative to chronological order of entries.
- Entries farther in the past should show up farther to the left in the progress bar.
- Entries closer to the present should show up farther to the right in the progress bar.
Counter Block
-
When to use
- Use a counter block when you want to show an applicant their progress within the entire form, a section, or a subsection.
- Use a timeline block to show an applicant their progress filling out information over a particular period of time.
- Counter come in two sizes, large and default.
- Counters can be used as a fraction or a single number.
Save Block
-
When to use
- Use a save button to allow the applicant to save their progress in the form at any time.
- The save button should allow a user to submit a save at any time.
- The save button shoud display the last time the form was saved either manually or autosaved.