An annotation is a special form of syntactic metadata that can be added to components. Component definitions, components and methods may be annotated. The annotations can be retrieved at the run time.
ZK and components do not count on the annotations. Rather, they are mainly used for UI designers to annotate metadata, such that it controls how a tool or a utility shall do at run-time. The content and meanings of annotations totally depend on the tool or the utility the developer uses. For example, a data-binding manager might examine annotations to know the data source that the value of a component will be stored.