HTML圧縮プラグインでは、HTMLコードのimgタグでalt=""が記載されている場合はこのコードが無視される仕様ですか? 投稿する

投稿者:齋藤毅  投稿日時:2025-12-28 05:44:40
無視しないようにプラグインを開発していますが、うまく動作していない環境がありますか?
もしそうであれば詳細を確認したいです。
投稿者:kamo  投稿日時:2025-12-28 06:02:12
いつもお世話になっております、kamoです。
昨日、掲示板での投稿がうまく行かず、内容が反映されなかったので
以下記載いたします。
HTML圧縮プラグインの利用は初めてなのでこのプラグインの仕様について
お尋ねいたします。
SOY CMS 3.21.2とPHP8.3.21の環境でこのプラグインを有効にしました。
alt=""
を 記載しているページ(indexページ)の画像ですが、
圧縮されたHTMLコードから
alt=""
コードが消えていました。 PageSpeed Insightsのユーザー補助に圧縮前は表示されていなかった画像要素に
「[alt] 属性が指定されていません 」と表示されるようになりました。

HTML圧縮プラグインは初めて利用するのですが、
プラグインの仕様でHTMLページに
alt=""
のように記載されている場合は、 このプラグインでコードが圧縮時に削除となる仕様でしょうか。

それとも他のプラグインが影響してそのようになっているでしょうか。
一緒に設定したプラグインは
HTMLキャッシュプラグイン、Cumulative Layout Shiftプラグイン、
HTMLファイルバックアッププラグイン、キャッシュ自動削除プラグイン
です。

また、本内容には関係ないと思いますが
Cumulative Layout Shiftプラグインで、
「<img>を<picture>タグで囲う」
を選択するとページにPHPエラーがでました。 なので、
「<img>の属性値にwidthとheightを挿入」
を選択しています。 この場合はエラーにはなりませんでした。
尚、このプラグインはindexページは対象としていません、ブログページのみ対象としています。

表示エラー内容は以下です。
Fatal error: Uncaught Error: Call to undefined method CLSPlugin::_mergeProps() in /home/ユーザーID/ドメイン.com/public_html/cms/common/site_include/plugin/x_cls/x_cls.php:126 Stack trace: #0 /home/ユーザーID/ドメイン.com/public_html/cms/common/site_include/plugin/x_cls/x_cls.php(100): CLSPlugin->_setPictureElement('<img src="/imag...', Array, Array) #1 /home/ユーザーID/ドメイン.com/public_html/cms/common/site_include/CMSPageController.class.php(236): CLSPlugin->onOutput(Array) #2 /home/ユーザーID/ドメイン.com/public_html/cms/common/site_include/CMSPageController.class.php(184): CMSPageController->onOutput('<!DOCTYPE html>...', Object(Page)) #3 /home/ユーザーID/ドメイン.com/public_html/cms/common/lib/soy2_build.min.php(241): CMSPageController->execute() #4 /home/ユーザーID/ドメイン.com/public_html/cms/common/site_include/SOYCMSOutputContents.class.php(64): SOY2PageController::run() #5 /home/ユーザーID/ドメイン.com/public_html/cms/common/site_include/SOYCMSOutputContents.class.php(110): SOYCMSOutputContents::execute_normal() #6 /home/ユーザーID/ドメイン.com/public_html/cms/common/site.func.php(42): SOYCMSOutputContents->execute() #7 /home/ユーザーID/ドメイン.com/public_html/www/index.php(12): execute_site() #8 /home/ユーザーID/ドメイン.com/public_html/index.php(3): include_once('/home/ユーザーID/...') #9 {main} thrown in /home/ユーザーID/ドメイン.com/public_html/cms/common/site_include/plugin/x_cls/x_cls.php on line 126

以上、お手数をお掛け致しますが、どうぞよろしくお願いいたします。
投稿者:齋藤毅  投稿日時:2025-12-28 16:36:46
「[alt] 属性が指定されていません 」と表示されるようになりました。
の件ですが、imgタグ内のalt属性の値が空(alt="")の場合は自動で削除されるようになっています。

ユーザー補助プラグインと併用することで、alt属性の値が空の場合はファイル名を挿入するという機能がありまして、HTML圧縮プラグインでaltの自動削除が無効になります。
投稿者:齋藤毅  投稿日時:2025-12-28 16:40:31
Cumulative Layout Shiftプラグインの「<img>を<picture>タグで囲う」は私が使用していないので改修をまったくしておらず動作が怪しいです。
<picture>タグを使う必要がなければ、設定せずにお願いします。

どうしても使用したい場合はコードを確認してみます。
投稿者:kamo  投稿日時:2025-12-28 17:11:53
ご回答ありがとうございます、kamoです。
imgタグ内のalt属性の値が空(alt="")の場合は自動で削除されるようになっています。
ユーザー補助プラグインと併用することで、alt属性の値が空の場合はファイル名を挿入するという機能がありまして、HTML圧縮プラグインでaltの自動削除が無効になります。
HTML圧縮プラグインの件、ユーザー補助プラグインを使ってみます。

Cumulative Layout Shiftプラグインの
「<img>を<picture>タグで囲う」<picture>タグを使う必要がなければ、設定せずにお願いします。

了解いたしました。
Cumulative Layout Shiftプラグイン「imgの属性値にwidthとheightを挿入」
これで大丈夫なので、そのように今後も選択いたします。

お教えいただきありがとうございました。
投稿者:kamo  投稿日時:2026-01-13 16:44:02
いつも開発ありがとうございます、kamoです。

HTML圧縮プラグイン利用時、imgタグ内のalt属性の値が空(alt="")の場合に
自動で削除される件で、お教えいただいたとおり、ユーザー補助プラグインを併用すると画像のファイル名が
alt=""の代わりに挿入されました。

少し時間が経ってしまいましたが、この件でHTML圧縮プラグインの仕様に
要望がございます。
本来、altに説明を挿入するのは、
視覚に障害のある人がスクリーンリーダーを使って視覚的にコンテンツを理解できるように
するためだと思いますが、意味のある画像には必ず適切な代替テキストの設定が必要ですが、
装飾目的の画像はalt=""(空)にすることがよいといわれています。
スクリーンリーダーを使うユーザーにとって装飾目的の画像は不要な情報となり、利便性を
かえって損ねるため、そのような画像にはalt=""(空)をそのままにしておきたいと思っています。

HTML圧縮プラグインのx_compressor.php
92行目//imgのaltの値が空である場合は削除
93~95行目
if(strpos($line, "alt=\"\"") !== false){
		$line = str_replace("alt=\"\"", "", $line);
}
上記部分をコメントアウトして試したところ、
HTML圧縮プラグインは問題なく機能しました。
ただ、ユーザー補助プラグインと併用すると
alt=""はファイル名に置き換えられてしまいますが、
併用しなければならない、HTMLの圧縮はalt=""も含めた形で
圧縮されたコードとなりましたので、
これ以外のプラグインにこの部分が関係していない場合は、
HTML圧縮プラグインの93行目~95行目の部分を次回のバージョンアップ時に
コメント化などはできないでしょうか?

今回はHTML圧縮プラグインの93行目~95行目の部分コメントして利用する
ことにしましたが、CMSをバージョンアップするとプラグインも上書きされて
しまうと思うので、他のプラグインに影響があるかはわかりませんが
ご検討いただきたく投稿いたしました。
投稿者:齋藤毅  投稿日時:2026-01-13 16:48:35
検証をありがとうございます。
HTML圧縮プラグインでaltの値が空の時にaltを残す設定を追加してみます。
投稿者:kamo  投稿日時:2026-01-13 18:07:27
ご多忙のところ、ご検討いただきありがとうございます。
お時間の空いた時で結構です。
どうぞよろしくお願いいたします。
ログインして投稿する