]> _ Git - fluidbook_tools.git/commitdiff
wip #7894
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 14 Jan 2026 18:31:09 +0000 (19:31 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 14 Jan 2026 18:31:09 +0000 (19:31 +0100)
src/Links/HTMLMultimediaPopupImage.php

index f23ff45637910becda6b3abd45493f775944f067..89ac91ebcbef573eba43c0203e096e4c0c871cb2 100644 (file)
@@ -5,10 +5,12 @@ namespace Fluidbook\Tools\Links;
 use Cubist\Util\Graphics\Image;
 use Cubist\Util\Graphics\Resizer;
 
-class HTMLMultimediaPopupImage extends NormalLink {
+class HTMLMultimediaPopupImage extends NormalLink
+{
     public $clickToClose = 0;
 
-    public function getURL() {
+    public function getURL()
+    {
         $this->copyExternalFile($this->to);
         $read = ($this->read_mode) ? 'r_' : '';
         return '#/multimedia/' . $read . md5($this->to . '/' . $this->extra . '/' . $this->id);
@@ -17,7 +19,8 @@ class HTMLMultimediaPopupImage extends NormalLink {
     /**
      * @throws \Exception
      */
-    public function getAdditionnalContent() {
+    public function getAdditionnalContent()
+    {
         $res = parent::getAdditionnalContent();
         $path = $this->compiler->working_path($this->to);
         try {
@@ -32,7 +35,13 @@ class HTMLMultimediaPopupImage extends NormalLink {
 
         $imgSizeAttrs = is_array($dim) ? ' data-width="' . $dim[0] . '" data-height="' . $dim[1] . '"  width="' . $dim[0] . '" height="' . $dim[1] . '" ' : '';
 
-        $markup = '<div class="multimediaContainer" data-click-to-close="' . $this->clickToClose . '"><img ' . $imgSizeAttrs . ' src="' . Link::getUniversalLocation($this->to) . '" class="multimedia" /></div>';
+        $markup = '<div class="multimediaContainer" data-click-to-close="' . $this->clickToClose . '">';
+        $markup .= '<img ' . $imgSizeAttrs . ' src="' . Link::getUniversalLocation($this->to) . '" class="multimedia" aria-hidden="1" />';
+        $alt=$this->getAlternativeText();
+        if($alt) {
+            $res .= '<div class="accessible" aria-live="polite">' . $alt . '</div>';
+        }
+        $markup .= '</div>';
         $read = '';
         if ($this->read_mode) {
             $read = ' data-readmode="1"';
@@ -43,7 +52,8 @@ class HTMLMultimediaPopupImage extends NormalLink {
         return $res . ' ' . $read . ' data-stats-type="popup_image" data-stats-name="' . $statsName . '" data-multimedia="' . rawurlencode($markup) . '" ';
     }
 
-    public function keep() {
+    public function keep()
+    {
         return true;
     }