# Labeling and Tooltips
The following guidelines help you properly label your controls in order to have good accessibility.
## General Considerations
Top 5 things to do for better screen reader support for labels
- Label all elements and element containers correctly and completely.
- Provide text alternatives for visual labels
Use tooltips only in rare cases. They should not be used as a replacement for a label. For more information, see [Using Tooltips](https://www.sap.com/design-system/fiori-design-web/foundations/best-practices/ui-elements/using-tooltips) in the SAP Design System.
- Use the `alt` attribute for images
- Describe controls and give additional information as part of the UI
Use `ariaDescribedBy` where needed.
- Identify regions correctly according to their purpose.
Use containers with a correct meaning and Landmark roles.
- Provide accessible alternatives and describe how to use them \(for example in the documentation of the application\).
## Rules and Guidelines for Labeling and Tooltips
- Non-decorative `sap.m.Image`/`sap.ui.core.Icon` should provide a meaningful alternative explanation in the `alt` property.
> ### Example:
> ```
>
> ```
- Interactive `sap.m.Image`/`sap.ui.core.Icon` \(that has a press handler\) should not be decorative.
> ### Example:
> ```
>
> ```
- Icon-only `sap.m.Button` should have a tooltip.
> ### Example:
> ```
>
> ```
- Button that has a text, should **not** have a tooltip.
> ### Example:
> ```
>
> ```
- Labels should **not** have a tooltip, as it could lead to ambiguity. For more information, see [SAP Design System Guidelines for Using Tooltips](https://www.sap.com/design-system/fiori-design-web/foundations/best-practices/ui-elements/using-tooltips).
- Input elements should have labels. Every input needs a label for its purpose. Even if the app doesn't include one, you can set one in `sap.ui.core.InvisibleText`. The placeholder text should not be used as a label.
- Tables should have titles. Tables with hidden titles or in containers with titles \(for example,single tables in tab strip panels\) should be labeled with `sap.ui.core.InvisibleText` in combination with `ariaLabelledBy`.
- `ariaLabelledBy` and `ariaDescribedBy` associations should point to existing DOM elements.
> ### Example:
> ```
>
>
>
>
>
>
>
> ```
- Labels should be connected with the labelled elements via `labelfor`.
> ### Example:
> ```
>