こんにちは。システムの運用・開発をしているM.Iです。
以前より発表されていました、『Internet Explorer(以下、IE)』の終了日である2022年6月15日が近づいてきました。
(一部、サポートが継続されるOSもありますが、Winsows自体のサポートの終了と同時にIEのサポートも終了となります。)
問題なく動いているプログラムの改修は、他の業務と比べて優先度も低く、ひとまず『Microsoft Edge(以下、Edge)』のInternet Explorerモード(以下、IEモード)で対応された企業も多いのではないでしょうか。

参考:Microsoft WindowsBlogs Internet Explorer to Microsoft Edge
Microsoft Build Internet Explorer (IE) モードとは

少なくとも2029年1月までEdgeのIEモードはサポートされるためしばらくは問題なさそうですが、システムのリプレースなどで画面を流用する場合、Edge・Chromeなどシェアの高いブラウザへの移行対応が必要になります。
ブラウザの移行対応とは、フロントエンド(HTML/CSS/JavaScriptなど)の改修です。
EdgeがChromiumベースとなったため、EdgeまたはChromeへの移行対応を行えば、ほぼ問題なく両方で動作します。

HTML

最新のHTMLにバージョンアップし、廃止になったタグや属性を改修します。
(2022年5月現在、HTMLの最新バージョンは『HTML Living Standard』です。)
『X-UA-Compatible』metaタグの互換指定も不要になります。

HTMLのバージョンは、DOCTYPE宣言で指定します。
『HTML Living Standard』のDOCTYPE宣言は『HTML5』と同じです。

<!DOCTYPE html>

lang属性もシンプルになり、『HTML5』からは変更ありません。

<html lang="ja">

文字エンコーディング指定は『utf-8』が推奨されています。

<meta charset="utf-8">
レイアウトが崩れる

『align=”center”』『cellspacing=”0″』『cellpadding=”0″』など、廃止された属性が残っている場合は、CSSで指定するようにします。

style="text-align:center; border-spacing:0; border-collapse:collapse;"

参考:Microsoft WindowsBlogs HTML 要素リファレンス

CSS

CSSはバージョンを宣言する必要はありません。
メディアクエリー(@media)でIEを指定している記述を整理します。
CSSフレームワークを利用している場合は、最新バージョンをチェックしてみてください。

ime-modeが効かない

CSSの『ime-mode』が廃止になりました。
inputタグのtype属性を利用すると、IMEモードをオフにすることは可能です。
ただし、IMEモードの変更が可能なので、フォーカスアウト時に全角文字を消す、入力チェックを行うなどの対応も必要になります。

<input type="number"> 半角数字のみ入力可 ※テキスト右側に矢印入力が表示されます。
<input type="tel"> IMEモードがオフになる
<input type="email"> IMEモードがオフになる
<input type="url"> IMEモードがオフになる
JavaScript

IEで制御可能だったウィンドウ関連のクライアントサイドの処理が、いくつかセキュリティ上の理由などにより廃止されました。
jQueryなどのライブラリのバージョンアップを行う時も、動作確認が必要です。

『window.open()』でアドレスバーを非表示にできない

『window.open()』のオプションで指定しても、アドレスバーが非表示になりません。
フィッシングサイトなどへの不正アクセスを防止するためです。
Edgeの場合、ショートカットの配布が可能であれば、リンク先に「 –app=”https://www.google.com/“(太字部分は任意のアドレス)」を追記することで、アプリとしてWEBサイトを実行することができ、アドレスバーを非表示にできます。

アプリとしてWEBサイトを起動
メニューバー、ステータスバーがない

メニューバー、ステータスバー自体が廃止され、『window.open()』のオプションが指定できなくなりました。
メニューバーは、制御が煩雑になるため、もともと利用できないように非表示にしていたシステムも多く、影響も少ないのではと思います。
ステータスバーは、常に表示されているエリアとして情報の表示が可能でしたが、表示されるリンク先の偽装ができてしまうなどの問題もあり、廃止になりました。

モーダルダイアログが表示できない

『window.showModalDialog()』は廃止になりましたが、無料のモーダルウィンドウプラグインがたくさんあります。
上記のEdgeのショートカットからアプリとしてWEBサイトを実行する場合、『window.open()』で起動した子画面のアドレスバーも非表示になります。
ただし、親画面は編集が可能なので、対応が必要な場合もあります。

ユーザ起動のブラウザを閉じることができない

ユーザが起動したブラウザ(『window.open()』で開いた画面以外)を『window.close()』で閉じることができなくなりました。
システム起動時に『window.open()』で別ウィンドウでもう1つシステムを起動すると、新しく起動した画面は『window.close()』で閉じることができます。そのままではシステムを2つ起動していることになるので、苦肉の策で、元のブラウザは『history.back()』でシステム起動前のページに戻しています。

window.onload = function () {
      var constWinName = "sumple";
      var winnm = window.name;
      if (winnm == null || winnm != constWinName) {
            var win = window.open("XXXXX.XXXX", constWinName, "top=0,left=0,width=1020,height=675");
            window.history.back();
            win.focus();
      }
}

ブラウザの移行対応は、システムが採用しているバージョンなどによっても対応内容が異なります。
長期間利用してきたシステムほど、改修作業に時間がかかります。
EdgeのIEモードのサポートが終了する時に慌てなくてすむよう、計画的にブラウザの移行対応を進めておきましょう。

※2022年5月時点の情報です。