I am designing a UI for a popup that would allow the user to share a post with one class at a time and select which class. They should also be able to drill into each class and select all or certain students within each class to post to. (The default would be share to all students in the class). I am currently using an accordion list of all classes that expands to then select or unselect students, but each list item is also selectable with a radio button. (see attached). This just seems wrong to me and overly complex interaction specially the fact that with the presence of radio button, I wouldn't have the ability to unselect all students once expanded if I just wanted to post to one student.

Are there any better approaches or standards to this problem anyone can think of?

enter image description here


I would do it like this: Top: "Send to..." in a big font. Left side: selected radio box with 'all students in all classes' where 'all classes' is a select menu' and underneath that an unchecked radio that says 'specific students.' Right side: same interface, except specific students is checked and all students is unchecked. 'all classes' select box is disabled; underneath specific students is an input field with the hint 'filter by name' and underneath that further a series of checkboxes, some checked and some unchecked, with names in each of the boxes.

The alt text contains a textual description of the picture.

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.


You could replace the radio buttons by check boxes as well. This would give your users the desired ability and enable them to select more than one class. If finally no users were selected, then the Post button should be inactive.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.