---
schema_version: "1"
id: 17debffe138ec04d61302d7c8549a3763e05fc4e4deae6d131dc85e556992234
title: Dynamic Components Restrictions
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/salesforce-pages-developers-guide/guides/pages/dynamic-vf/pages-dynamic-vf-components-limitations.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/guide/pages-dynamic-vf-components-limitations.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 7f5e08cb9ba8adeaa0d7f2d1a0767236db6436cd606480b3e2455a6faf426a9a
products:
  - Visualforce Developer Guide
  - Platform Developer Content
---

# Dynamic Components Restrictions

Not every feature of Visualforce makes sense in a dynamic context, so some components aren’t available dynamically.

-   The following standard Visualforce components don’t have corresponding dynamic representations in Apex:

    -   `<apex:attribute>`
    -   `<apex:component>`
    -   `<apex:componentBody>`
    -   `<apex:composition>`
    -   `<apex:define>`
    -   `<apex:dynamicComponent>`
    -   `<apex:include>`
    -   `<apex:insert>`
    -   `<apex:param>`
    -   `<apex:variable>`
-   If a dynamic Visualforce component refers to a specific sObject field, and that field is later deleted, the Apex code for that field reference will still compile, but the page will fail when it is viewed. Also, you can create references to global variables such as `$Setup` or `$Label`, and then delete the referenced item, with similar results. Please verify such pages continue to work as expected.
-   Dynamic Visualforce pages and expressions check attribute types more strictly than static pages.
-   You can’t set [“pass-through” HTML attributes](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/styling/pages-html-features-pass-through-attributes.md) on dynamic components.

