Issue
After migrating a table to an optimized table, Rich Text Editor (RTE) content does not render as formatted text. HTML tags appear in the table cells, and read-only RTE columns may display placeholders rather than the formatted content.
Symptoms and Impact
Users expect RTE-formatted comments to display with styling (bold, lists, hyperlinks, etc.) within table columns.
Instead, HTML markup tags (e.g., <p>, <b>, <br>, <span>) appear as raw text strings within the optimized table cell rather than being rendered as formatted content. In some scenarios, content is not rendered as expected.
This can impact readability and create confusion regarding supported functionality in optimized tables.
This behavior is observed when the following conditions are met:
- The table has code optimization enabled.
- A column in the table is bound to a property whose value was captured via an RTE control (even if the column's display control is now a Text control).
- The RTE property value contains HTML markup — for example, when a user copied email body content into the RTE control.
Steps to Reproduce
- Use an RTE input control for user text entry.
- Enter text containing elements requiring HTML tags for formatting.
- Save the text into a page list displayed in a table container.
- Set the Comment text column as a Text control with Advanced Text format.
- Observe that HTML tags display literally and formatting is lost.
Root Cause
Optimized tables are designed to operate in a read-only manner using a fixed template structure. Due to this design, direct editing and Rich Text Editor (RTE) functionality are not supported within optimized table cells. RTE content is not rendered as rich text in optimized tables, resulting in raw HTML being displayed or content not appearing as expected.
Why did the non-optimized table work?
Non-optimized (legacy) tables generate their markup at the server layer, where the application can interpret and render HTML content stored in RTE properties. When optimization was enabled, rendering shifted to the client layer using Handlebars templates, which treat all content as plain text tokens and do not interpret HTML.
Solution
This behavior is working as designed. Optimized tables do not support Rich Text Editor (RTE) functionality or rendering within table cells
There are no planned enhancements to enable this functionality at this time.
Workarounds
The following options are available depending on your use case:
-
Revert to a non-optimized table: Turn off code optimization for the affected table. Non-optimized tables process markup server-side and can render HTML content properly. Trade-off: you will lose the performance, accessibility, and search benefits of optimized tables.
-
Use a Text Area control (instead of RTE) to capture input: If the application allows it, replace the RTE control used for data entry with a plain Text Area control. Text Area controls submit plain text (no HTML markup) as the property value, so no HTML tags will appear when displayed in the table. This is the recommended approach where rich formatting is not required.
-
Display formatted content in a Modal dialog: Keep the optimized table for list display purposes, and configure a Modal dialog edit mode so users can view or interact with the full formatted content outside of the table cell. This preserves the optimized table's benefits while allowing formatted content to be presented correctly.
-
Embed a section within the table column: As a workaround documented in INC-B36754, embed a section within the table column instead of placing an RTE or Text control directly in the cell. This allows more control over how HTML content is rendered. Implementation complexity may vary.
-
Strip HTML tags from the property value before display: Use a custom utility (e.g., a Java function or data transform) to strip HTML tags from the RTE property value before storing or displaying it. This converts the HTML-encoded value to plain text, suitable for display in optimized table cells.