Esri / calcite-web

Authoritative front-end development resources for Calcite design initiative. Includes extendable base components and styles, as well as a modular and efficient framework for ArcGIS properties.
http://esri.github.io/calcite-web/
Apache License 2.0
109 stars 58 forks source link

Carousel - Questions about functionality #172

Closed bradleywertman closed 9 years ago

bradleywertman commented 9 years ago

Will the the carousel loop around forwards and backwards? (http://esri.github.io/calcite-web/patterns/#carousel) Currently it doesn't.

Examples:

  • If I am on Slide 5 and press Next, will it go to Slide 1?
  • And if I am on Slide 1 and press Previous, will it go to Slide 5?

Will it be able to auto start? And if so, will the delay between slides be modifiable and incorporate a `pause-on-hover``?

paulcpederson commented 9 years ago

@bradleywertman I've run into some problems with carousels where even ie9 has some trouble rendering them.

Several people have mentioned that carousels don't necessarily need to be in Calcite Web - @nikolaswise @patrickarlt

It's starting to feel like calcite-web maybe shouldn't provide a carousel, but we could provide a theme for a fully featured carousel that is already out there. What do you think? Do you have a carousel that you've used before that you think we could use instead?

I'm tagging this issue with question so that we can discuss it in a group.

/cc @ngoldman @CassidyB

paulcpederson commented 9 years ago

I think if we decide to provide a carousel, it should absolutely feature wrapping from the end to the beginning. I'm not sure it would support autoplay as that's been shown to pretty severely hinder usability: http://www.nngroup.com/articles/auto-forwarding/

paulcpederson commented 9 years ago

Also, especially seeing as we had our accessibility review today and it is top of mind, carousels generally don't meet accessibility standards. Even Bootstrap warns people about this: http://getbootstrap.com/javascript/#accessibility-issue

bradleywertman commented 9 years ago

Despite not meeting accessibility standards and poor usability...

We have used carousels often in the past. The content usually is not the focus of the page it resides on, but sometimes it was. Old examples:

  1. http://resources.arcgis.com/en/communities/desktop/ (jquery cycle plugin)
  2. http://www.arcgis.com/home/ (some dojo)
  3. http://resources.arcgis.com/en/home/ (slidedeck)

Two new projects that I am working on required carousels:

  1. http://storymapsdev.arcgis.com/en/#carousel (jquery cycle2 plugin)
  2. New ArcGIS book project mockups provided by @karstenthorson image

Personally, I was looking for a common piece of js functionality that I could re-skin as needed if the default calcite theme didn't match what was needed.

Currently we are using tailcoat today, but I wanted to be using a common pattern that could be quickly switched over to calcite when the time came.

paulcpederson commented 9 years ago

@bradleywertman thanks, that is really helpful.

Another option for this would be to have a separate calcite-carousel library that registers itself as a calcite plugin that people could choose to include it on a calcite project. It might be nice to break out the carousel functionality from the main js file as we are already approaching like 700 LOC in calcite-web.js which is ridiculous for implementing some simple interface patterns.

nikolaswise commented 9 years ago

We will be breaking this out into it's own project: https://github.com/Esri/calcite-carousel