.. include:: /Includes.rst.txt

===================================================================
Feature: #87033 - New TypoScript Property config.htmlTag.attributes
===================================================================

See :issue:`87033`

Description
===========

The new site handling functionality adds some attributes to the frontend rendering <html> tag automatically, even per language
(e.g. "lang" and "dir" attributes) without having to use TypoScript anymore.

However, if custom properties should be added, e.g. :html:`<html lang="fr" amp>`, this is not possible anymore without having
to reintroduce TypoScript conditions or complex stdWrap functionality. In previous versions the property :typoscript:`config.htmlTag_setParams`
was used to override all properties, but since there were conditions in place for languages, this was a one-liner change per language.

In order to use the full power of TypoScript flexibility, it is possible now to use :typoscript:`config.htmlTag.attributes` which
allows to override and add custom attributes via TypoScript without having to re-add the existing attributes generated by SiteHandling.

This property supersedes the previous :typoscript:`config.htmlTag_setParams` option by providing a more flexible API to add attributes.

Examples:

:typoscript:`config.htmlTag.attributes.class = no-js`

Will result in :html:`<html lang="fr" class="no-js">`.

It is even possible to add attributes without a value:

:typoscript:`config.htmlTag.attributes.amp =`

will render :html:`<html lang="it" amp>`

Please note that "lang" attribute in these examples are auto-generated by Site configuration, depending on the value added there.


Impact
======

If the TypoScript option :typoscript:`config.htmlTag.attributes` is used, then :typoscript:`config.htmlTag_setParams` has no effect anymore.

.. index:: TypoScript, ext:frontend
