HTML・アクセシビリティツール

無料 contenteditable=plaintext-onlyジェネレーター

リッチテキストフォーマットなしのプレーンテキスト入力のためのcontenteditable=plaintext-onlyアクセシブルHTMLマークアップを生成します。

ツールを読み込み中...

contenteditable=plaintext-onlyジェネレーターとは

contenteditable=plaintext-only属性は、ユーザーが編集可能なHTML要素を作成しますが、リッチテキストフォーマット(太字、斜体、色、フォント)を受け入れるcontenteditable=trueとは異なり、plaintext-onlyは貼り付け時にすべてのフォーマットを削除します。ユーザーがWord、Google Docs、またはウェブページからフォーマットされたテキストをコピーしてplaintext-onlyエディタに貼り付けると、貼り付けられたコンテンツはプレーンテキストのみになります。HTMLタグ、インラインスタイル、フォントフォーマットはすべて削除されます。この動作はブラウザに組み込まれており、JavaScriptはまったく必要ありません。

クイックアンサー

contenteditable=plaintext-onlyを使用して、プレーンテキストのみを受け入れる編集可能なリージョンを作成します。フォーマットされたコンテンツを貼り付けると、すべてのHTMLタグとインラインスタイルが自動的に削除されます。JavaScriptは不要です。Chrome 120+、Edge 120+、Safari 17.4+、Firefox 136+でサポートされています。古いブラウザではリッチテキスト編集にグレースフルデグラデーションします。生成されたHTMLには、プレースホルダーCSS、フォーカススタイル、ARIA属性、オプションのフォールバック検出が含まれています。

Last updated: 2026-06-01

制限事項

  • Firefoxバージョン136より前ではサポートされていません。この属性はcontenteditable=trueにグレースフルデグラデーションするため、古いFirefoxバージョンのユーザーはプレーンテキストエディタの代わりにリッチテキストエディタを目にします。これらのユーザー向けにJavaScript貼り付けインターセプタを安全策として追加してください。
  • plaintext-onlyはオールオアナッシングのアプローチです。一部のフォーマット(改行など)を許可しながら他(太字やフォントなど)をブロックすることはサポートしていません。選択的フィルタリングには、beforeinputイベントを使用したカスタムソリューションが必要です。
  • ブラウザの実装はエッジケースで異なる場合があります。たとえば、貼り付け時の末尾の空白、複数スペース、特殊なUnicode文字の処理方法などです。ユーザーが最も貼り付ける可能性が高いコンテンツの種類でテストしてください。

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

使い方

  1. エディタモードを選択します。plaintext-only(貼り付け時にすべてのフォーマットを削除)または通常のcontenteditable(リッチテキストを保持)。いずれかのモードまたは両方を並べて比較するHTMLを生成します。
  2. エディタが空のときに表示されるプレースホルダーテキストを設定し、プレースホルダーのCSS色とスタイルをデザインに合わせてカスタマイズします。
  3. フォーカススタイル(アウトライン、ボーダー色、ボックスシャドウ)を設定します。これらはエディタがフォーカスを受け取ったときに作動します。スクリーンリーダーのアクセシビリティのためにARIAラベルを含めます。
  4. 生成されたHTMLマークアップをコピーします。このツールは、plaintext-onlyをまだサポートしていないブラウザ向けのフォールバック検出を処理する関連CSSを含む、完全で自己完結型のスニペットを提供します。

主な用途

  • ユーザーがページレイアウトを壊したり隠れたHTMLを導入したりするフォーマット済みテキストを貼り付けるべきではないコメントフィールドやディスカッションフォーラム。
  • 生のテキストが期待され、リッチフォーマットが不要なノイズとなるコードスニペット入力や設定エディタ。
  • フォーマットが複雑さを増すだけでメリットのない社内メモツールやCMSプレーンテキスト説明文。

用途

使用例

ブログコメントのプレーンテキストフィールド

ブログが、コメント投稿者が隠れたHTMLタグを含むフォーマット済みテキストを貼り付けてレイアウトを壊したりXSSベクターを導入したりするのを防ぎたいと考えています。コメント入力にcontenteditable=plaintext-onlyを使用します。ユーザーがWordからフォーマットされた段落をコピーして貼り付けると、ブラウザが太字、斜体、フォント、色のタグを自動的に削除し、結果はクリーンなプレーンテキストになります。

設定エディタの比較

開発者ツールに2つの入力モードが必要です。リッチな説明用のWYSIWYGエディタ(contenteditable=true)と、設定値用のプレーンテキストフィールド(contenteditable=plaintext-only)です。生成されたHTMLを使用して両方のモードを並べて表示し、ユーザーがすぐに違いを理解できるようにします。

よくあるミス

  • プレーンテキストフィールドにcontenteditable=trueを使用し、フォーマットを削除するJavaScript貼り付けインターセプタを書く。ブラウザがplaintext-onlyで自動的に処理するため、コード、メンテナンス、エッジケースのバグを節約できます。
  • contenteditableリージョンにARIA属性とアクセシブルなラベルを追加し忘れる。スクリーンリーダーは編集可能な要素をフォームコントロールとして扱い、aria-labelまたはaria-labelledbyによる適切なラベリングが必要です。
  • 古いブラウザでのフォールバック動作をテストしない。Firefoxはバージョン136でplaintext-onlyを追加しました。フォールバックがない場合、古いバージョンのユーザーは代わりに通常のリッチテキストエディタを取得します。

検証

  1. 生成されたHTMLをChromeまたはSafariで開きます。テキストを入力し、ウェブページやWord文書からフォーマットされた段落をコピーしてエディタに貼り付けます。すべてのフォーマット(太字、斜体、色、フォント、リンク)が削除され、プレーンテキストのみが残ることを確認します。
  2. Firefox 135以前で同じ貼り付け操作をテストし、フォールバック動作を確認します。エディタはcontenteditable=trueとして動作するはずです(フォーマットを保持)。オプションのJavaScriptフォールバックを追加した場合は、古いブラウザで貼り付けイベントをインターセプトすることを確認します。

FAQ

contenteditable=plaintext-onlyジェネレーターのFAQ

contenteditable plaintext-onlyはcontenteditable trueとどう違いますか?

contenteditable=trueはユーザーがHTMLコンテンツを編集し、フォーマットされたテキストを貼り付けることを許可し、太字、斜体、リスト、リンク、インラインスタイルを保持します。contenteditable=plaintext-onlyは貼り付け時にすべてのフォーマットを削除し、HTMLタグ、インラインスタイル、Wordやウェブページからのリッチテキストを含みます。基本的な編集動作は同じです。貼り付け処理のみが異なります。plaintext-onlyは、コード不要で、JavaScriptの貼り付けインターセプタが毎回document.execCommand(insertText)を実行したかのように動作します。

contenteditable=plaintext-onlyをサポートしているブラウザは?

2026年現在、plaintext-onlyはBaseline 2025で、Chrome 120+、Edge 120+、Safari 17.4+、Firefox 136+でサポートされています。これは世界のブラウザ使用量の約85%をカバーしています。古いブラウザでは、この属性はcontenteditable=true(リッチテキスト)にグレースフルデグラデーションします。生成されたHTMLにはフォールバック検出が含まれているため、古いブラウザ向けの安全策としてJavaScript貼り付けインターセプタを追加できます。

plaintext-onlyで一部のフォーマットを許可し、他をブロックできますか?

いいえ。plaintext-onlyはオールオアナッシングの動作です。選択的フィルタリングが必要な場合(たとえば、改行は許可するがフォントタグはブロックする)、beforeinputイベントでカスタム貼り付けハンドラを作成するか、設定可能な貼り付けサニタイゼーションを提供するQuillやTipTapのようなライブラリを使用する必要があります。plaintext-onlyはゼロフォーマットが必要な場合を意図しており、カスタムフィルタリングには適していません。

contenteditable plaintext-onlyはXSSを防げますか?

1つのXSSベクターを減らします。スクリプトタグ、イベントハンドラ、またはその他の悪意のあるマークアップを含む貼り付けられたHTMLはプレーンテキストに削除されるため、それらのタグはDOMに入りません。ただし、contenteditableリージョンは依然として編集可能なHTML要素であり、他の攻撃ベクターの標的になる可能性があります。contenteditableモードに関係なく、保存または表示する前にサーバー側でコンテンツを常に検証およびサニタイズしてください。

関連ツール

その他のhtml・アクセシビリティツール

こちらもお試しください

こちらもお試しください

CSS・デザインツール

CSSカルーセルジェネレーター

scroll-snap、スクロールボタン、スクロールマーカー、アクセシブルなリスト構造を備えたネイティブCSSカルーセルを生成します。JavaScriptは不要です。

ツールを開く