DSO Component Library

# Carousel

Ready

- HTML
- View
- Context
- Info
- Notes
- WCAG

`

    <div id="MyCarousel" class="carousel slide" data-ride="carousel">
        <ol class="carousel-indicators">
            <li data-target="#" data-slide-to="0" class="active"></li>
            <li data-target="#" data-slide-to="1"></li>
            <li data-target="#" data-slide-to="2"></li>
        </ol>

        <div class="carousel-inner" role="listbox">
            <div class="item active">
                <img src="../../dummy/images/stap-voor-stap.jpg" alt="Chania" />
            </div>
            <div class="item">
                <img src="../../dummy/images/mensen-steken-hand-op.jpg" alt="Chania" />
            </div>
            <div class="item">
                <img src="../../dummy/images/deze-bestaat-niet.jpg" alt="Oeps" />
            </div>
        </div>

        <a href="#MyCarousel" class="left carousel-control" role="button" data-slide="prev">
        <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
        <span class="sr-only">Vorige</span>
      </a>
        <a href="#MyCarousel" class="right carousel-control" role="button" data-slide="next">
        <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
        <span class="sr-only">Volgende</span>
      </a>
    </div>

`
`

    <div id="{{ carouselId }}" class="carousel slide" data-ride="carousel">
      {{! Indicators }}
      <ol class="carousel-indicators">
        {{#each slides }}
          <li data-target="#{{ carouselId }}" data-slide-to="{{ @index }}" {{#if active }}class="active"{{/if}}></li>
        {{/each}}
      </ol>

      {{! Wrapper for slides }}
      <div class="carousel-inner" role="listbox">
        {{#each slides }}
          <div class="item{{#if active }} active{{/if}}">
            <img src="{{path image }}" alt="{{ imageAlt }}" />
          </div>
        {{/each}}
      </div>

      {{! Controls }}
      <a href="#{{ carouselId }}" class="left carousel-control" role="button" data-slide="prev">
        {{> '@icon' icon="glyphicon glyphicon-chevron-left" }}
        <span class="sr-only">Vorige</span>
      </a>
      <a href="#{{ carouselId }}" class="right carousel-control" role="button" data-slide="next">
        {{> '@icon' icon="glyphicon glyphicon-chevron-right" }}
        <span class="sr-only">Volgende</span>
      </a>
    </div>

`
`

    carouselId: MyCarousel
    slides:
      - active: true
        image: /dummy/images/stap-voor-stap.jpg
        imageAlt: Chania
      - image: /dummy/images/mensen-steken-hand-op.jpg
        imageAlt: Chania
      - image: /dummy/images/deze-bestaat-niet.jpg
        imageAlt: Oeps

`

- Handle: @carousel
- Preview:
  - With layout
  - Component only
- Filesystem Path: components\02-content\carousel\carousel.hbs
- References (1): @icon

Toont een carousel met x-aantal slides. Gebaseerd op Bootstrap “Carousel.js”

### WARNING: WCAG2AA.Principle1.Guideline1_3.1_3_1.H48

If this element contains a navigation section, it is recommended that it be marked up as a list.

`<div id="MyCarousel" class="carousel slide" data-ride="carousel"> <ol class="carousel-indicators"> <li data-target="#" data-slide-to="0" class="active"></li> <li data-target="#" data-slide-to="1"></li> <li data-target="#" data-slide-to="2"></li> </ol> <div class="carousel-inner" role="listbox"> <div class="item active"> <img src="../../dummy/images/stap-voor-stap.jpg" alt="Chania"> </div> <div class="item"> <img src="../../dummy/images/mensen-steken-hand-op.jpg" alt="Chania"> </div> <div class="item"> <img src="../../dummy/images/deze-bestaat-niet.jpg" alt="Oeps"> </div> </div> <a href="#MyCarousel" class="left carousel-control" role="button" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> <span class="sr-only">Vorige</span> </a> <a href="#MyCarousel" class="right carousel-control" role="button" data-slide="next"> <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> <span class="sr-only">Volgende</span> </a> </div>`

### WARNING: WCAG2AA.Principle1.Guideline1_4.1_4_3.G18.BgImage

This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least 4.5:1.

`<span class="sr-only">Vorige</span>`

### NOTICE: WCAG2AA.Principle1.Guideline1_1.1_1_1.G73,G74

If this image cannot be fully described in a short text alternative, ensure a long text alternative is also available, such as in the body text or through a link.

`<img src="../../dummy/images/stap-voor-stap.jpg" alt="Chania">`

### NOTICE: WCAG2AA.Principle1.Guideline1_1.1_1_1.G94.Image

Ensure that the img element's alt text serves the same purpose and presents the same information as the image.

`<img src="../../dummy/images/stap-voor-stap.jpg" alt="Chania">`

### NOTICE: WCAG2AA.Principle2.Guideline2_4.2_4_2.H25.2

Check that the title element describes the document.

`<title>Default`

### NOTICE: WCAG2AA.Principle2.Guideline2_4.2_4_4.H77,H78,H79,H80,H81

Check that the link text combined with programmatically determined link context identifies the purpose of the link.

`<a href="#MyCarousel" class="left carousel-control" role="button" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> <span class="sr-only">Vorige</span> </a>`