Choosing interface options
Use radio buttons for short lists of options
When the user has only one valid choice among a relatively short list, use radio buttons. Use a dropdown menu in situations where:
- the list of choices is longer than about 7 options
- the choice is optional and not very common (such as a name suffix)
Have a "next" or "continue" button on most screens
Docassemble has a "yesno" question type that replaces the "Continue" button with buttons that immediately move to the next screen. This feature can be disorienting to users with a screen reader and you may lose user trust by having an inconsistent user interface.
Instead, use fields and yesnoradio even with a screen that asks a single
yes/no question:
question: |
  Do you like pudding?
fields:
  - no label: likes_pudding
    datatype: yesnoradio
However, if the buttons represent actions, rather than choices, buttons may be appropriate.
Adding help in context
We prefer using the progressive disclosure element to provide help in-context.
This is available from ALToolbox with the name collapse_template() and
included by default in the Assembly Line package.
Use the collapse_template() function with a template block to add
in-context explanatory text in the subquestion of your question block.
Example:
---
id: intro
question: |
  Social Security Overpayment Waiver or Change
subquestion: |
  This website can help you ask the Social Security administration to 
  
  1. **lower the amount that must be paid back**, or;
  1. **change the schedule of payments** for someone who is told that they
  owe the Social Security Administration money.
  
  ${ collapse_template(overpayment_waiver_help_template) }
continue button field: intro_screen
---
template: overpayment_waiver_help_template
subject: |
  More information about an overpayment waiver
content: |
  When Social Security says that you have an overpayment they are saying that
  you got more SSI or SSDI than you should have gotten under their rules. The
  reason Social Security says you have an overpayment is in the Notice of 
  Overpayment. 
Docassemble has many features that allow you to add help in-context. They include:
- the question help button
- the glossary termsfeature
- the underarea
- the field hintmodifier that adds placeholder text
- the field helpmodifier
- the option helpmodifier
Through expert feedback, we have determined that the question help button should never be used. The placement of the button and the use of a separate mode for help text can be confusing. Help may also come "too late" with this feature, after a user has already completed answering the questions on screen.
We also discourage use of the hint modifier that adds placeholder text to a
field. Multiple
references
discourage this feature.
The under feature can be a helpful place to add additional context to a
screen, although the field-specific note feature may be more consistent with
user expectations across multiple questions.
The glossary terms feature
should be used cautiously, perhaps with additional CSS to make it more
distinctive. The risk with this feature is distracting or confusing users.
The field and option help modifiers are both relatively clear and simple to
use for field-specific hints and to explain choices that may otherwise not be
clear. Custom CSS may make these features slightly more polished than the
stock Docassemble appearance.