Search by

ithilbert / rezensionen

ithilbert

Neues Package für Rezensionen

Package info

github.com/ITHilbert/rezensionen

Homepage

pkg:composer/ithilbert/rezensionen

Statistics

Installs: 73

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.2.1 2026-11-13 21:01 UTC

This package is auto-updated.

Last update: 2026-11-13 21:03:55 UTC


README

Beschreibung: Neues Package für Rezensionen.

Dokumentation

Die ausführliche Dokumentation befindet sich im Ordner .project/doku/:

Installation

composer require ithilbert/rezensionen

Update

Nach composer update ithilbert/rezensionen sind im Host keine Schritte nötig (kein vendor:publish, kein Build).

Namespace

ITHilbert\Rezensionen

Slider und Barrierefreiheit

Der Slider (rezensionen::show) hält nach WCAG 2.2.2 an, wenn der Nutzer es braucht:

  • Pause bei Fokus: Wandert der Fokus in den Slider, pausiert das Carousel und aria-live wechselt auf polite. Verlässt der Fokus den Slider, läuft er wieder (aria-live="off"), außer er wurde über den Knopf angehalten.
  • Knopf: „Anhalten“/„Abspielen“ (data-rezensionen-pause) hält den Slider an und startet ihn wieder.
  • Texte: kommen aus der Sprachdatei rezensionen::rezensionen (slider_pause_label, slider_play_label, slider_pause, slider_play) und lassen sich dort überschreiben.
  • Skript: src/Resources/js/slider.js wird einmal je Seite inline ausgegeben, kein vendor:publish und kein Build nötig.
  • Content-Security-Policy: Das Skript ist ein Inline-<script> ohne Nonce. Eine strikte CSP ohne unsafe-inline blockiert es; dann fehlen Pause bei Fokus und Knopf vollständig; der Slider läuft wie ohne Skript weiter.
  • Hosts mit Vue-Root um die Seite: Vue 2 verwirft ein <script> im Template und ersetzt beim Mount das Markup. Dann REZENSIONEN_SKRIPT_INLINE=false in der .env setzen und <x-rezensionen::skript /> außerhalb des Vue-Roots ausgeben, z. B. vor </body>. Das Skript bindet per Delegation an document und übersteht neues Markup; die Komponente gibt es einmal je Seite aus. Der Knopf ist im Markup hidden und erscheint nur mit laufendem Skript.
  • Voraussetzung: Bootstrap 4 und jQuery ($.fn.carousel). Fehlt das Plugin, wechselt nur der Knopf seinen Zustand, es gibt keinen Fehler.