mirador icon indicating copy to clipboard operation
mirador copied to clipboard

Hide paging navigation area

Open ydvelaitzky opened this issue 3 years ago • 6 comments

Hi We look for a way to hide the paging navigation area due to only one image is displayed in our canvas, enabling multi image paging is unnecessary. The area that we want to hide is this: image In settings.js we could not find the property to use for this purpose

Thank you!

ydvelaitzky avatar Dec 02 '20 19:12 ydvelaitzky

I wonder if there are two independent issues here:

  1. Add a configuration setting to enable the implementer to hide the paging/canvas title area.
  2. Automatically hide the paging controls when we know there is only one canvas associated with the object and the controls provide no value to the user.

Additionally, for the first item, I wonder if we should break the paging elements and the text strings below those elements (the page info and canvas title) into separately configurable things? Or, perhaps just make the display of the paging elements the configurable thing, rather than the whole navigation area? Because even when the object only has one canvas, the "1 of 1" message and the canvas title could still provide useful context info for the user.

Finally, if we do item 2 above (auto hide the paging controls when there is only one canvas), I wonder if we need a configuration setting (item 1) at all? I do like the idea of offering lots of config settings for implementers to customize things for their setting, but I worry about someone configuring the paging controls off when (perhaps unknown to them) there might actually be objects that do have multiple canvases, and then their users have to find one of the other less obvious affordances in the UI to move from one canvas to another. Maybe item 2 alone would satisfy the underlying use case of this ticket?

ggeisler avatar Dec 11 '20 18:12 ggeisler

Add a configuration setting to enable the implementer to hide the paging/canvas title area

seems to be a better idea, especially for the sake of hiding paging area not only in case of a single canvas, but also in other cases when a manifest contains data of multi-image but the requirement is to display one of them only.

ydvelaitzky avatar Dec 14 '20 08:12 ydvelaitzky

If you are going to support that request - notice that the paging navigation might include the zoom controls, so remain them visible always (of course if they are defined to be visible in settings) even when hiding the paging navigation area.

ydvelaitzky avatar Dec 23 '20 07:12 ydvelaitzky

Is there a solution to this?

miriamg16 avatar Apr 25 '21 11:04 miriamg16

The behavior I was hoping to implement was to show the opaque nav bar for all images but only on hover (or press on tablet). Similar to how OSD presents their zoom button upper left (OSD even has timed fade).

https://openseadragon.github.io

yulgit1 avatar Jun 14 '21 15:06 yulgit1

Note that we also need to support keyboard-only accessibility for this. For example, when using only a keyboard to navigate the page at https://openseadragon.github.io, you have to know when you are on the image window (which is not visually indicated, but could be) and then have to know you can use the plus and minus keys to zoom. They offer no visible indication to the user that you can zoom. And we have the additional concern that what we would be hiding from the user is not only the zoom controls but also the canvas title and canvas pagination elements.

I don't think this is impossible to solve (Wikipedia shows hover-only elements to keyboard users) but I do want to note that it isn't as simple as doing what OSD does.

ggeisler avatar Jun 14 '21 19:06 ggeisler

We now have a plugin for this: https://www.npmjs.com/package/@harvard-lts/mirador-hide-nav-plugin. Currently working with V2 manifests, going to be updated to work with V3 manifests since it was discovered that thing the plugin is triggering off of is in a different place in a version 3 manifest.

mferrarini avatar Apr 30 '24 21:04 mferrarini