UI list with multiple selection

How do you create a menu, panel, list, etc. on the UI with the ability to select multiple items at once?

I’ve done a bit of googling and searching on this forum for an answer but I’ve yet to find information. I’m talking about a UI selection list with the ability to add/subtract items to/from a selection by holding a modifier key when clicking on items in the menu(common in many programs; for Windows, usually shift = add, ctrl = subtract).

For clarity, examples of menus which have this feature:
Outliner, graph editor

Examples of menus which don’t:
Almost any list in the properties submenus; material list, shape key list, vertex group list, etc.

Is this achievable using the Python API? As noted above these kinds of menus exist in Blender, but I don’t know if I’ve ever seen one as an add-on, so I’m guessing that I may have to get creative at this point or use C.

The closest general UI widget with multiple selectability that comes to mind are multi-button widgets like the various kinds of layer selectors, although I’d prefer a more name-column-like appearance that could be usable.