Erklärung zur Barrierefreiheit

Fehler bei der Verarbeitung der Vorlage.
The following has evaluated to null or missing:
==> httpServletRequest.getCookies()  [in template "20098#20124#ARTIKEL-HEADER" at line 17, column 24]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign cookies = httpServletRequest...  [in template "20098#20124#ARTIKEL-HEADER" at line 17, column 5]
----
1<#import "/um-lr73-base-portal.web-resources_SERVLET_CONTEXT_/common_macros.ftl" as common> 
2<#import "/um-lr73-base-portal.web-resources_SERVLET_CONTEXT_/export.ftl" as export> 
3 
4<@export.includeExportStyles /> 
5 
6<#assign domainHost = export.getDomainHost() /> 
7 
8<#assign youtubeEnabled = false /> 
9 
10<#if viewMode == "view"> 
11    <#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
12    <#assign httpServletRequest = serviceContext.getRequest()> 
13    <#assign VOID = httpServletRequest.setAttribute("LIFERAY_SHARED_ARTICLE_HEADER_ID", .vars['reserved-article-id'].data) /> 
14    <#assign VOID = httpServletRequest.setAttribute("LIFERAY_SHARED_ARTICLE_HEADER_TITLE", .vars['reserved-article-title'].data) /> 
15    <#assign VOID = httpServletRequest.setAttribute("LIFERAY_SHARED_ARTICLE_HEADER_NAMESPACE", renderResponse.getNamespace()) /> 
16 
17    <#assign cookies = httpServletRequest.getCookies() /> 
18    <#if validator.isNotNull(cookies)> 
19        <#list cookies as cookie> 
20            <#if (cookie.name == "ACCEPTED_COOKIE_YOUTUBE_ENABLED")> 
21                <#if cookie.getValue() == "true"> 
22                    <#assign youtubeEnabled = true /> 
23                    <#break /> 
24                </#if> 
25            </#if> 
26        </#list> 
27    </#if> 
28</#if> 
29 
30<#assign title = .vars['reserved-article-title'].data /> 
31 
32<div class="article"> 
33    <div class="main-content"> 
34        <#if Spitzmarke?? && Spitzmarke.data?has_content> 
35            <#if viewMode == "view" || viewMode == "print"> 
36                <p class="spitzmarke"> 
37                    ${Spitzmarke.data} 
38                    <#if show_modified_date?? && getterUtil.getBoolean(show_modified_date.data)> 
39                        <span class="info pull-right">${getLatestModifiedDate()}</span> 
40                    </#if> 
41                </p> 
42            <#elseif viewMode == "export"> 
43                <div class="spitzmarke"> 
44                    <br/> 
45                    <table border="0" cellspacing="0" cellpadding="0" width="100%"> 
46                        <tr> 
47                            <td align="left" style="text-transform: uppercase"> 
48                                <b>${Spitzmarke.data}</b> 
49                            </td> 
50                            <#if show_modified_date?? && getterUtil.getBoolean(show_modified_date.data)> 
51                                <td align="right"> 
52                                    <b>${getLatestModifiedDate()}</b> 
53                                </td> 
54                            </#if> 
55                        </tr> 
56                    </table> 
57 
58                    <hr color="#b2b2b0" size="1"/> 
59                </div> 
60            </#if> 
61        </#if> 
62 
63        <h1 class="title">${title}</h1> 
64 
65        <#if Medientyp.getData()=="2" && Video.Vorschaubild.getData()!=""> 
66 
67            <#assign videoId=Video.YoutubeCode.getData()/> 
68 
69            <#if videoId?starts_with("http")> 
70                <#assign videoId = videoId?split("/")[3]> 
71            </#if> 
72 
73            <#if Video.Vorschaubild??> 
74 
75                <#if Video.Vorschaubild?has_content> 
76                    <#if viewMode == "view" || viewMode == "print"> 
77                        <div class="article-video"> 
78                            <#if viewMode == "view"> 
79                                <div class="video-box"> 
80                                <div class="video" style="background-image: url(${Video.Vorschaubild.getData()});background-size: cover;padding-bottom:50%; "> 
81                                    <#if youtubeEnabled> 
82                                        <div class="video-trigger-icon" data-source="${videoId}" 
83                                             title="Video abspielen"> 
84                                            <button style="border:none;" class="no-icon item-icon"> 
85                                                <span class="icon-um icon-um--play" 
86                                                      style="position:absolute; top:0; left:0;"></span> 
87                                            </button> 
88                                        </div> 
89                                    </#if> 
90                                </div> 
91                                <#if youtubeEnabled> 
92                                    <div class="video-trigger"> 
93                                        <p class="text-center video-trigger-overlay-text"> 
94                                            Um das Video zu sehen, müssen Sie es durch einen Klick aktivieren. 
95                                            Dadurch werden Informationen an Youtube übermittelt und unter Umständen dort 
96                                            verarbeitet. Bitte beachten Sie unsere Hinweise und Informationen zum <a 
97                                                    title="Zum Datenschutz" class="arrow-link" 
98                                                    href="<#if Video.Datenschutz.data?has_content>${Video.Datenschutz.getFriendlyUrl()}<#else>/datenschutz</#if>"><span 
99                                                        class="icon-um icon-um--chevron-right"></span><span 
100                                                        class="link-title">Datenschutz</span></a>. 
101                                        </p> 
102                                    </div> 
103                                    <div class="video-layer" style="display: none"> 
104                                        <iframe src="" frameborder="0" allowfullscreen="" width="960" 
105                                                height="480"></iframe> 
106                                    </div> 
107                                    </div> 
108                                </#if> 
109                            <#elseif viewMode == "print"> 
110                                <img src="${Video.Vorschaubild.getData()}" class="img-responsive"/> 
111                            </#if> 
112 
113                            <#if Video.Vorschaubild.BildunterschriftVideo.getData()!=""> 
114                                <div class="summary">${Video.Vorschaubild.BildunterschriftVideo.getData()}</div> 
115                            </#if> 
116                        </div> 
117                    <#elseif viewMode == "export"> 
118                        <@export.createExportImageTag jsonContent="${Video.Vorschaubild.data}" /> 
119                    </#if> 
120                </#if> 
121            </#if> 
122 
123 
124        <#else> 
125        <#--Foto--> 
126            <#if BildMitBildunterschrift??> 
127 
128                <#if BildMitBildunterschrift.getSiblings()?has_content> 
129 
130                    <#if viewMode == "view" || viewMode == "print"> 
131                        <#if (BildMitBildunterschrift.getSiblings()?size>1 && viewMode == "view") > 
132                            <@imageTextSlider/> 
133                        <#else> 
134                            <#list BildMitBildunterschrift.getSiblings() as cur_Bild> 
135                                <#if cur_Bild.Bild.getData()?has_content> 
136                                    <div class="teaser-image no-carousel title-image"> 
137                                        <@common.createImageTag jsonContent="${cur_Bild.Bild.data}"/> 
138 
139                                        <#if cur_Bild.Bild.Bildunterschrift.getData()!=""> 
140                                            <div class="summary">${cur_Bild.Bild.Bildunterschrift.getData()}</div> 
141                                        </#if> 
142                                    </div> 
143                                    <#if viewMode == "print"> 
144                                        <#break /> 
145                                    </#if> 
146                                </#if> 
147                            </#list> 
148                        </#if> 
149                    <#elseif viewMode == "export"> 
150                        <#assign FirstImage = BildMitBildunterschrift.siblings?first /> 
151 
152                        <#if FirstImage.Bild.data?has_content> 
153                            <@export.createExportImageTag jsonContent=FirstImage.Bild.data bildunterschrift=FirstImage.Bild.Bildunterschrift.data /> 
154                        </#if> 
155                    </#if> 
156 
157                </#if> 
158 
159            </#if> 
160 
161        </#if> 
162    </div> 
163</div> 
164 
165<#if viewMode == "print" || viewMode == "export"> 
166    <@includeArticleParts /> 
167</#if> 
168<#if viewMode == "print"> 
169    <style> 
170        @media print { 
171            @page { 
172                margin-bottom: 0; 
173
174
175    </style> 
176 
177    <div class="print-footer"> 
178        ${portal.getCanonicalURL(themeDisplay.getPortalURL() + themeDisplay.getURLCurrent(), themeDisplay, layout, true, false)} 
179    </div> 
180</#if> 
181<#if viewMode == "export"> 
182    <#assign url = portal.getCanonicalURL(themeDisplay.getPortalURL() + themeDisplay.getURLCurrent(), themeDisplay, layout, true, false) /> 
183    <div class="print-footer"> 
184        <hr color="#b2b2b0" size="1"/> 
185 
186        <p> 
187        <center>Originalseite: <a href="${url}">${url}</a></center> 
188        </p> 
189    </div> 
190</#if> 
191 
192<script> 
193    var updateVideoWrapper = function () { 
194        AUI().use('aui-base', function (A) { 
195            A.all('.video-box').each(function (elem) { 
196                elem.all('.video-trigger-icon').each(function (triggerElem) { 
197                    triggerElem.on( 
198                        'click', 
199                        function (event) { 
200                            if (event && event.target && event.target.get('nodeName') === 'A') { 
201                                return; 
202
203 
204                            var youtubeId = triggerElem.getData('source'); 
205                            var videoLayer = elem.one('.video-layer'); 
206                            var iframe = videoLayer.one('iframe'); 
207                            iframe.attr('src', 'https://www.youtube.com/embed/' + youtubeId); 
208                            triggerElem.hide(); 
209                            videoLayer.show(); 
210
211                    ); 
212                }); 
213            }); 
214        }); 
215    }; 
216 
217    Liferay.on('endNavigate', updateVideoWrapper); 
218    $(document).ready(updateVideoWrapper); 
219</script> 
220 
221<#macro imageTextSlider> 
222 
223    <section class="image-slider" id="slider_artikel"> 
224 
225        <div class="slides-list" aria-roledescription="Karusell"> 
226 
227            <#list BildMitBildunterschrift.getSiblings() as cur_images> 
228                <div class="slide" role="group" aria-roledescription="Folie" 
229                     aria-label="Folie ${cur_images?index + 1} von ${ BildMitBildunterschrift.getSiblings()?size}"> 
230                    <div class="image"> 
231                        <@common.createImageTag jsonContent="${cur_images.Bild.data}"/> 
232                    </div> 
233                    <#if cur_images.Bild.Bildunterschrift.getData()!=""> 
234                        <div class="summary"> 
235                            ${cur_images.Bild.Bildunterschrift.getData()} 
236                        </div> 
237                    </#if> 
238                </div> 
239            </#list> 
240 
241 
242        </div> 
243 
244    </section> 
245 
246</#macro> 
247 
248<@common.initializeSlider wrapper="#slider_artikel" container="#slider_artikel .slides-list" loop=false/> 
249 
250<#macro includeArticleParts> 
251    <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
252 
253    <#if article_parts?? && article_parts.article_part??> 
254        <#list article_parts.article_part.siblings as part> 
255            <#if part.data?has_content> 
256                <#assign 
257                contentInfo = part.data?eval 
258                contentArticle = journalArticleLocalService.fetchLatestArticle(getterUtil.getLong(contentInfo.classPK)) 
259                /> 
260 
261                ${journalContent.getContent(contentArticle.groupId, contentArticle.articleId, contentArticle.getDDMTemplateKey(), viewMode, locale.toString(), themeDisplay)} 
262            </#if> 
263        </#list> 
264    </#if> 
265</#macro> 
266 
267<#function getLatestModifiedDate> 
268    <#assign 
269    journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
270    journalArticle = journalArticleLocalService.getLatestArticle(groupId, .vars['reserved-article-id'].data) 
271    modifiedDate = journalArticle.modifiedDate 
272    /> 
273    <#if article_parts?? && article_parts.article_part??> 
274        <#list article_parts.article_part.siblings as part> 
275            <#if part.data?has_content> 
276                <#assign 
277                contentInfo = part.data?eval 
278                contentArticle = journalArticleLocalService.fetchLatestArticle(getterUtil.getLong(contentInfo.classPK)) 
279                /> 
280                <#if contentArticle.modifiedDate?long gt modifiedDate?long> 
281                    <#assign modifiedDate = contentArticle.modifiedDate /> 
282                </#if> 
283            </#if> 
284        </#list> 
285    </#if> 
286 
287    <#return modifiedDate?datetime?string('dd.MM.yyyy') /> 
288</#function> 

Das Ministerium für Umwelt, Klima und Energiewirtschaft Baden-Württemberg ist bemüht, die Internetseite Energiewendetage in Einklang mit Paragraf 10 Absatz 1 des Landes-Behindertengleichstellungsgesetzes (L-BGG) barrierefrei zugänglich zu machen.

Diese Erklärung zur Barrierefreiheit gilt für die Internetseite der Energiewendetage.

1. Stand der Vereinbarkeit mit den Anforderungen

Diese Internetseite ist wegen der folgenden Unvereinbarkeiten und Ausnahmen teilweise mit Paragraf 10 Absatz 1 L-BGG vereinbar.

2. Nicht barrierefreie Inhalte

Die nachstehend aufgeführten Inhalte sind aus den folgenden Gründen nicht barrierefrei:

Unvereinbarkeit mit Paragraf 10 Absatz 1 L-BGG:

  • Consent-Management bei den Cookie-Einstellungen ist nur eingeschränkt zugänglich und verhindert für Tastatur- und Screenreadernutzer möglichweise den Zugriff auf das Angebot

Wir arbeiten an der barrierefreien Umsetzung der oben aufgeführten Inhalte und setzen die Regelungen des L-BBG kontinuierlich um.

3. Erstellung dieser Erklärung zur Barrierefreiheit

Diese Erklärung wurde am 21.12.2020 erstellt.

Die Erklärung beruht auf einer Bewertung der Firma WEB for ALL nach Paragraf 4 Absatz 2, Ziffer 1 L-BGG-Durchführungsverordnung (DVO).

WEB for ALL hat für den BITV-Test nach Barrierefreier-Informationstechnik-Verordnung BITV 2.0 vom 16. bis 20. November 2020 fünf Testseiten geprüft. Am 16. Dezember erfolgte ein zweiter Test. Das verwendete Prüfverfahren orientiert sich am aktuellen BIK (barrierefrei informieren und kommunizieren) BITV/WCAG-Test, der 60 Prüfschritte umfasst.

Die Erklärung wurde zuletzt am 22.02.2021 überprüft.

4. Rückmeldung und Kontaktangaben

Sind Ihnen Mängel beim barrierefreien Zugang zu Inhalten unserer Internetseite aufgefallen?

Dann können Sie sich gerne bei uns melden:

Ministerium für Umwelt, Klima und Energiewirtschaft Baden-Württemberg
Kernerplatz 9
70182 Stuttgart
+49 711 126-0
poststelle@um.bwl.de

5. Durchsetzungsverfahren

Um zu gewährleisten, dass diese Internetseite den in Paragraf 10 Absatz 1 L-BGG beschriebenen Anforderungen genügen, können Sie sich an das Ministerium für Umwelt, Klima und Energiewirtschaft Baden-Württemberg wenden und eine entsprechende Rückmeldung geben. Die entsprechenden Kontaktdaten finden Sie unter Ziffer 4 dieser Erklärung.

Falls das Ministerium für Umwelt, Klima und Energiewirtschaft Baden-Württemberg nicht innerhalb der in Paragraf 8 Satz 1 L-BGG-DVO vorgesehenen Frist auf Ihre Anfrage antwortet, können Sie sich an die Beauftragte der Landesregierung für die Belange von Menschen mit Behinderungen im Rahmen der in Paragraf 14 Absatz 2 Satz 2 L-BGG und Paragraf 15 Absatz 3 Satz 2 L-BGG beschriebenen Ombudsfunktion wenden.

Die Beauftragte der Landesregierung für die Belange von Menschen mit Behinderungen können Sie wie folgt erreichen:

Landes-Behindertenbeauftragte
Stephanie Aeffner
Else-Josenhans-Straße 6
70173 Stuttgart
+49 711 279-3360
poststelle@bfbmb.bwl.de

Auf die Möglichkeit des Verbandsklagerechts nach Paragraf 12 Absatz 1 Satz 1 Nummer 4 L-BGG wird hingewiesen.