現行のOracle APEXは、リッチ・テキスト・エディタとしてCKEditor5を使用しています。
このエディタは読み込んだHTMLを編集するのではなく、一旦、内部的なモデルに従ったデータに変換し、変換したデータを編集します。HTMLからCKEditor5のモデルに変換する処理をUpcast conversionと呼んでいます。モデルからHTMLに変換する処理はDowncast conversionです。マークダウンの場合でも同様に、Upcast conversionでマークダウンから内部モデルに変換、Downcast conversionでモデルからマークダウンに変換しています。
このような仕組みなので、CKEditor5で記述していると危険なHTMLの記述が含まれる可能性は低く、より安全であるといえます。
しかし、生成されるHTMLはCKEditor5のGUIの機能に制限されますし、他のツールで記述したHTMLもCKEditor5を通すと、CKEditor5のモデルで表現できない部分は削除されます。
ただしこれでは使いにくい場合もあるため、Oracle APEX 22.2の新機能として、リッチ・テキスト・エディタにプロパティとしてカスタムHTMLの許可(Allow Custom HTML)が追加されました。HTMLに記述されている属性(Attributes)、クラス(class)、スタイル(style)が保存の対象となっています。初期化JavaScriptファンクションを記述することにより、詳細な制御も可能です。
CKEditor5によって保存されるHTMLを確認するためのAPEXアプリケーションを作成しました。
https://apex.oracle.com/pls/apex/r/japancommunity/ckeditor5-test/
一番下のページ・アイテムP1_SOURCEに以下のHTMLを記述し、ボタンSave P1_SOURCEをクリックします。
<span class="u-danger">u-dangerを設定したテキスト</span>
リッチ・テキスト・エディタのプロパティカスタムHTMLの許可をONにしていると、classが削除されないためu-dangerの指定通りバックグランドが赤く表示されます。そうでない方のリッチ・テキスト・エディタでは、class指定は無視されます。