The JS code for this carousel was originally written for a large supermarket, but sadly never saw the light of day. It is object oriented and uses the Dojo toolkit and here I have combined it with AngularJS which is plotting my contracts out from a JSON file using a ng-repeat on an unordered list. I came across the issue of the carousel code trying to run before the AngularJS code had finished plotting the list of contracts. That was solved by use of the on-finish-render directive. The carousel is accessible to non-mouse users, one can use the tab key to move the focus on to the carousel controls and operate it, or use the arrow keys once the focus is on the UL.