---
title: "Important: #95714 - Null attributes are omitted in media rendering"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:important-95714-1788459022"
source: "Changelog/14.3.x/Important-95714-NullAttributesAreOmittedInMediaRendering.rst"
typo3-version: "14.3.x"
typo3-major: 14
type: "important"
issue: 95714
forge: "https://forge.typo3.org/issues/95714"
tags: ["FAL", "Fluid", "Frontend", "ext:core"]
rendered: "2026-10-07T19:18:07+00:00"
---

# Important: #95714 - Null attributes are omitted in media rendering {#important-95714-1788459022}

See [forge#95714](https://forge.typo3.org/issues/95714)

## Description {#description}

The media file renderers

-   `\TYPO3\CMS\Core\Resource\Rendering\AudioTagRenderer`
-   `\TYPO3\CMS\Core\Resource\Rendering\VideoTagRenderer`
-   `\TYPO3\CMS\Core\Resource\Rendering\VimeoRenderer`
-   `\TYPO3\CMS\Core\Resource\Rendering\YouTubeRenderer`

now treat the values of the `additionalAttributes` option the same way
Fluid's `\TYPO3Fluid\Fluid\Core\ViewHelper\TagBuilder` does:

-   `null` and `false` omit the attribute entirely
-   `true` renders a boolean attribute, the name without a value
-   An empty string renders `name=""`
-   Any other value renders `name="value"`

Up to now, `null` and `false` were both rendered as `name=""`.
In the Vimeo and YouTube renderers, `null` additionally triggered the
deprecation notice `htmlspecialchars(): Passing null to parameter #1
($string) of type string is deprecated`.

This allows leaving out an attribute conditionally, which was not possible
before:

```html
<f:media file="{file}" additionalAttributes="{poster: posterUrl}" />
```

If `posterUrl` is not set, the `poster` attribute is now dropped
instead of being rendered as `poster=""`.

Attributes carrying an empty string are still rendered. In HTML, `muted`
and `muted=""` mean the same thing, so dropping them would change the
meaning of the generated markup.
