I'm trying to design a portion of a web interface that allows users to tag items and view all items with a tag or set of tags on them - think gmail, if gmail allowed you to easily select multiple tags to view all messages with all of those tags. What's the best way to show the user which set of tags they're currently viewing?

Simple highlighting works for one tag, but if the list of tags is longer than the screen they won't be able to see all of them at once, leading to it not being clear which tags the user has selected. Adding to this problem, I've got a small amount of space to work with - the entire tag and item interface is about 300x500 pixels, so displaying selected tags in a long horizontal list isn't an option.

Mouseover is certainly an interesting option that I hadn't really considered - my one concern is that it won't be possible to remove a tag without scrolling to it, but given the limited amount of space I suppose I can't have everything.
–
sslepianOct 20 '10 at 23:32

Add an 'x' or some other icon to each listed item for the mouse-over view. Click that to deselect the item.
–
Babak NaffasOct 21 '10 at 0:12

Just remember you don't have mouse over on touch devices
–
NirOct 21 '10 at 12:12

I have noticed that a tap on an iPad/iPhone works in much the same way as placing a mouse cursor on that location.
–
Babak NaffasOct 21 '10 at 17:25

1) As you mentioned you can highlight the tags that are selected, while still maintaining the their order in the list. To overcome the problem of users not being aware that are selected tags not showing on the page you can do something to bring it to their attention - something like blinking arrows at the bottom of the tag section of the page to inform them that there is something important if they scroll down

=Tag1=
Tag2
Tag3
vvvv
-----------------------Screen End
Tag4
=Tag5=

The == mark highlighted tags and the vv are the blinkings arrows

2) Also you can make that additional list at the top, but remove the tags from the original, so that you always have a consistent height to the tags section

3) You can have the selected tags showup as a vertical list under the heading of the search results.

Very clear communication on what the currently selected item in each facet is (in this case, black bold vs. blue for links)

Great legibility by not making each item a hyperlink, even though they're all hyperlinks - in this case, it's more useful to prioritise legibility over the hyperlink underline pattern

Each facet displays how many results are available if you were to click on them. Kind of complicated to implement sometimes, depending on your search backend.

The right controls depending on what kind of facet you're dealing with, as well as great copywriting and the right wording ("Last 30 days" for dates, since you don't care about specific dates in this case, etc)

The ability to step one level up with each facet, essentially "undoing" your selection in that facet. Note the use of the < as opposed to a red cross (x) like many other sites have.

Combine this with the breadcrumb navigation pattern as Amazon has done for an extra dimension of usefulness in case people are scanning top-down and not looking in the left/right column

Don't worry too much about not being able to see every single selected thing if many are selected - it's a common faceted navigation pitfall to fall into. Users will get that there are more selected options further down the page if they've made many selections (imagine selecting one of each facet in the Amazon example). To offset things a bit you can group selected facets at the top as @onnodb suggests, though I wouldn't hide them behind a click (like in a select control).

Since you have a limited real estate to work with you could implement the following. Place the tag list in a dropdown and have a plus button which adds another row with a dropdown of tags. This way the only tags that are displayed are the ones that the user has selected.