Ajax Action
a4j:ajax
a4j:commandButton
a4j:commandLink
a4j:actionListener
a4j:jsFunction
a4j:poll
a4j:push
a4j:param
Ajax Queue
a4j:queue
a4j:attachQueue
Ajax Output/Containers
a4j:outputPanel
a4j:status
a4j:region
a4j:mediaOutput
a4j:log
Validation
Client Side Validation
rich:graphValidator
rich:message
rich:messages
rich:notify
Data Iteration
a4j:repeat
rich:dataTable
rich:extendedDataTable
rich:collapsibleSubTable
rich:dataScroller
rich:list
rich:dataGrid
Trees
rich:tree
Tree Adaptors
Output/Panels
rich:chart
rich:panel
rich:togglePanel
rich:tabPanel
rich:collapsiblePanel
rich:accordion
rich:popupPanel
rich:progressBar
rich:tooltip
Menus
rich:panelMenu
rich:toolbar
rich:contextMenu
rich:dropDownMenu
Inputs
rich:autocomplete
rich:calendar
rich:editor
rich:inputNumberSlider
rich:inputNumberSpinner
rich:inplaceInput
rich:fileUpload
Selects
rich:inplaceSelect
rich:select
rich:orderingList
rich:pickList
Drag and Drop
Drag and Drop
Miscellaneous
Standard elements skinning
Placeholder
RichFaces functions
Focus
rich:componentControl
rich:hashParam
rich:hotKey
rich:jQuery

The rich:accordion component can leverage a4j:repeat as a child component to dynamically generate accordion items.

The following example shows the accordion dynamically generated from list of skins:

Skin: blueSky
Skin: blueSky
All the controls below are just standard JSF components skinned with RichFaces:
Enter Name:
Enter you interests:
Choose your favourite color

Skin: classic
Skin: classic
Skin: deepMarine
Skin: deepMarine
Skin: emeraldTown
Skin: emeraldTown
Skin: japanCherry
Skin: japanCherry
Skin: ruby
Skin: ruby
Skin: wine
Skin: wine