Page History
(this page was created automatically. In case of formatting issues, please visit the official Wiki Page)
...
IFrame
Link to Figma: tba
Overview
- The IFrame component embeds external web content inside your application.
- It keeps the embedded content separate from the main application for security.
- It supports HTML documents, websites, and full web applications.
- It is useful for integrating third-party tools, dashboards, or documentation.
...
- id – Specifies a unique identifier for the component used for programmatic access. For example,
"paymentGatewayFrame"enables targeted manipulation of this specific IFrame component through scripts or automated tests. - dataTestId – Sets the testing hook ID for automated testing. For example, setting it to
"payment-gateway-iframe"allows test scripts to reliably locate this component during automated testing. - enableAsHotspot – Enables the component as a guided tour hotspot. When enabled, the IFrame can be highlighted during onboarding or tutorial flows to draw user attention to important embedded content.
- guidedTourHotSpotTitle – Sets the title for the guided tour hotspot, supporting translations. For example,
{"en-US": "Payment Gateway", "de-DE": "Zahlungs-Gateway"}provides clear identification during guided tours. - guidedTourHotSpotDescription – Sets the description for the guided tour hotspot, supporting translations. For example,
{"en-US": "This area displays our secure payment processing system", "de-DE": "Dieser Bereich zeigt unser sicheres Zahlungsabwicklungssystem"}provides detailed instructions during guided tours.
Guidelines
[NO DATA AVAILABLE]
Accessibility
...
Usage
- Embed third-party pages or apps by setting
srcto a trusted, task-relevant URL or a template expression (e.g.,"${context.reportUrl}"). - Show the IFrame only when prerequisites are satisfied (e.g., a selection exists) so users don’t see empty frames (
displayConditions). - Restrict visibility of sensitive or licensed content to authorized audiences (
visibilityPolicySetId). - Name the instance clearly for authors/QA so it’s easy to find in complex screens (
displayName).
Sizing & Layout
- Size the frame to the embedded content’s expected viewport; use percentages for flexible layouts and pixels for fixed designs (
width,height). - Add breathing room so the frame doesn’t butt up against adjacent UI (
paddingClass). - For content that should fill the available area, set
width: "100%"and an appropriateheightto avoid double scrollbars.
Interactions & Events
- Bind lifecycle behaviors to events without duplicating state rules: use
ON_INITfor any setup (e.g., preparing dynamicsrccontext),ON_PAGE_LOADfor analytics or marking “ready,” andON_DESTROYfor teardown of timers/listeners.
Visibility & Authorization
- Hide the IFrame entirely for unauthorized users (
visibilityPolicySetId). - Combine authorization with runtime prerequisites to prevent blank or misleading frames (
visibilityPolicySetId,displayConditions).
Content & Localization
- Localize any user-facing tour copy associated with the frame (
guidedTourHotSpotTitle,guidedTourHotSpotDescription). - Use
displayNamefor authoring clarity only; it does not surface to end users.
Dos & Don’ts
| Do | Don’t | Article setting(s) |
|---|---|---|
Bind src to the exact page/app users need (static or via template). | Point src to a generic landing page that forces extra navigation. | src |
| Show the frame only when inputs exist (e.g., selected item). | Render an empty frame that looks broken. | displayConditions |
| Gate sensitive embeds with policies. | Rely on the embedded site to block access after render. | visibilityPolicySetId |
| Use percentages/pixels to size thoughtfully and avoid double scrollbars. | Leave default sizes so content overflows or feels cramped. | width, height |
| Add outer spacing so the frame doesn’t touch neighboring UI. | Jam the frame edge-to-edge with no visual separation. | paddingClass |
Treat ON_PAGE_LOAD as the readiness signal. | Guess readiness with arbitrary delays. | events.ON_PAGE_LOAD |
| Clean up on unmount. | Leave timers/listeners running after navigation. | events.ON_DESTROY |
| Provide stable test hooks. | Select the frame with brittle DOM selectors. | id, dataTestId |
| Localize hotspot captions for onboarding. | Ship English-only guidance. | guidedTourHotSpotTitle, guidedTourHotSpotDescription |
| Give the instance a purposeful name for authors. | Keep ambiguous defaults that hinder maintenance. | displayName |
Accessibility
- Hide entire frames that users must not access to reduce confusion and accidental focus (
visibilityPolicySetId). - Prevent “blank frame” experiences by rendering only when content is available (
displayConditions). - Provide stable hooks for automated accessibility checks (
dataTestId,id). - Offer localized guidance during tours (
guidedTourHotSpotTitle,guidedTourHotSpotDescription,enableAsHotspot). - Use
paddingClassto avoid crowding touch targets adjacent to the frame.