Browse Source

Fix #3322 Use title for alt if no alt is provided

alt has priority over title, so it should be filled if title is filled.
Use the title value to fill alt.
Unit test updated accordingly.
Raphaël Doursenaud 10 years ago
parent
commit
2cf9d9f583
2 changed files with 3 additions and 3 deletions
  1. 1 1
      htdocs/core/lib/functions.lib.php
  2. 2 2
      test/phpunit/FunctionsLibTest.php

+ 1 - 1
htdocs/core/lib/functions.lib.php

@@ -1906,7 +1906,7 @@ function img_picto($titlealt, $picto, $options = '', $pictoisfullpath = false, $
 		$tmparray=array(0=>$titlealt);
 		if (preg_match('/:[^\s]/',$titlealt)) $tmparray=explode(':',$titlealt);		// We explode if we have TextA:TextB. Not if we have TextA: TextB
 		$title=$tmparray[0];
-		$alt=empty($tmparray[1])?'':$tmparray[1];
+		$alt=empty($tmparray[1])?$tmparray[0]:$tmparray[1]; // Use title for alt if no alt is provided
 		return '<img src="'.$fullpathpicto.'" border="0" alt="'.dol_escape_htmltag($alt).'"'.($notitle?'':' title="'.dol_escape_htmltag($title).'"').($options?' '.$options:'').'>';	// Alt is used for accessibility, title for popup
 	}
 }

+ 2 - 2
test/phpunit/FunctionsLibTest.php

@@ -609,11 +609,11 @@ class FunctionsLibTest extends PHPUnit_Framework_TestCase
 
         $s=img_picto('title','/fullpath/img.png','',1);
         print __METHOD__." s=".$s."\n";
-        $this->assertEquals('<img src="/fullpath/img.png" border="0" alt="" title="title">',$s,'testImgPicto3');
+        $this->assertEquals('<img src="/fullpath/img.png" border="0" alt="title" title="title">',$s,'testImgPicto3');
 
         $s=img_picto('title','/fullpath/img.png','',true);
         print __METHOD__." s=".$s."\n";
-        $this->assertEquals('<img src="/fullpath/img.png" border="0" alt="" title="title">',$s,'testImgPicto4');
+        $this->assertEquals('<img src="/fullpath/img.png" border="0" alt="title" title="title">',$s,'testImgPicto4');
 
         $s=img_picto('title:alt','/fullpath/img.png','',true);
         print __METHOD__." s=".$s."\n";