Obrazki zamiast checkboxów w CF7

Oto przykład zamiany elementów typu checkbox na obrazki, wykonany przy pomocy czystego CSS i umieszczony w formularzu Contact Form 7 .

Pola wielokrotnego wyboru poprawnie pokazują swój stan i są zgodne z WCAG.

Łatwo można zmienić rozmiar i styl zaznaczenia obrazków, edytując CSS. Warto też dodać własny styl dla pseudoklasy :disabled.

    Wybierz ulubiony owoc



    Poniżej konfiguracja.

    <label> Twoje Imię
        [text* your-name] </label>
    
    <label> Twój email
        [email* your-email] </label>
    
    <!-- Żeby pola wyboru były naprawdę dostępne i zgodne z WCAG, wstawiaj je wewnątrz elementu fieldset i dodaj element legend -->
    <fieldset>
    <legend>Wybierz swój owoc</legend>
    
    [checkbox checkbox-238 class:imgchkbox use_label_element "Pomarańcze" "Banany" "Truskawki"]
    
    </fieldset>
    
    <style>
    /* zamieniamy standardowy checkbox na własny */
    .imgchkbox input[type="checkbox"] {
    
    /* najpierw ukrywamy domyślną kontrolkę */
      appearance: none;
      background-color: #fff;
      margin: 0; 
    
    /* Teraz ustawiamy pole (box) do umieszczenia obrazka  */
      font: inherit;
      color: currentColor;
      width: 5em;
      height: 5em;
      border: 0.15em solid lightgray;
      border-radius: 0.15em;
      transform: translateY(-0.075em);
      background-color: lightgray;
      background-size: contain;
      transition: all 0.3s ease-out;
    }
    
    /* Zmieniamy wygląd zaznaczonej kontrolki */
    .imgchkbox input[type="checkbox"]:checked {
      filter: brightness(0.7);
      outline: 2px red solid;
    }
    
    /* Ustawiamy obrazki w tle dla każdego checkboxa */
    .imgchkbox .wpcf7-list-item:first-child input[type="checkbox"] {
    background-image: url("https://bon.uw.edu.pl/wp-content/uploads/2022/08/oranges.jpg");
    }
    .imgchkbox .wpcf7-list-item:nth-child(2) input[type="checkbox"] {
    background-image: url("https://bon.uw.edu.pl/wp-content/uploads/2022/08/bananas.jpg");
    }
    .imgchkbox .wpcf7-list-item:last-child input[type="checkbox"] {
    background-image: url("https://bon.uw.edu.pl/wp-content/uploads/2022/08/strawberries.jpg");
    }
    
    .imgchkbox .wpcf7-list-item {
      display: block;
    }
    .imgchkbox .wpcf7-list-item label {
      display: flex;
      align-items: center;
    }
    .imgchkbox .wpcf7-list-item label .wpcf7-list-item-label {
      margin-left: 1em;
    }
    </style>
    
    [submit "Wyślij"]