The short of it: a lightbox extension. Uses js to pop up a larger version of a thumbnail directly on the page, without the user having to go to another page.
- Needs to actually be faster than just going to the file page
- Needs navigation handles for going through a gallery (primary use case)
- Needs to have a neutral appearance that will not clash with skins, or the files themselves
- Needs to not confusing licensing information
- Needs to be optional
- Primary option for galleries and thumb images, and any images with the word 'lightbox' passed as a parameter
- Secondary option for non-thumb images on the page, or any images with the word 'nolightbox' passed as a parameter
- Primary option images: file page icon appears in corner on hover. Is link to file page. Rest of image is activator for lightbox.
- Secondary option images: lightbox icon appears in corner on hover. Is activator for lightbox. Rest of image is link to file page.
- Is entirely overridden by setting a link= on the image?
- Interaction and appearance
- Semitransparent dark grey cover element blocks out the rest of the page. Image appears in center at nominal size, or almost filling space, whichever is bigger. Can be zoomed in on further if svg or larger than the available space.
- Images with transparency are made to stand out by semi-transparent nature of general background. Any images that match the effective colour of the background should use the nolightbox keyword. Any images with unclear edges that need their edges to be made clear should use the nolightbox keyword.
- Back/forward toggles appear for gallery navigation, or for category pages with multiple files.
- Toggle at bottom allows pulling up file description. Probably just a repeat of whatever wikitext was supplied on the file: page. Some special handling for commons templates, information template, etc, maybe.
- Clicking on dark grey cover element dismisses it. An X or other close icon should also dismiss it, as a primary fallback for zooming in too much, as should the browser back button, if supportable.
- UPO for disabling entirely, in user preferences.