Chameleon, no closing tag

How do I create a tag that is not automatically closed by chameleon?

The <source> element is an empty element so there must be no closing tag.
but no matter what I do it always comes back with a </source> and it keeps failing my accessibility test since it is considered a "Stray end tag"

here is what the code looks like
<source tal:attributes="src download_url; type content_type">

Really interesting! Consider submitting a bug report.
From my test this syntax works as you expect:

<source src="${download_url}" type="${content_type}" >

Is the browser adding the stray tag? Do you have the correct doctype specified?

I don't think is the browser since the Test tool is Webkit based, and I'm looking at the source in Chrome

<!DOCTYPE html>

I tried that but the result is always the same: before the next closing tag </source> is added

<video preload="none" class="pat-video" style="width:100%;height:100%;" width="100%" height="100%" poster="" controls="true">
            <source src="" type="video/mp4">

I do not know about Chameleon, but pagetemplate distinguished between an HTML and an XML template. "empty element" is an HTML concept (more generally, you need a DTD to know about empty elements); XML tries to be usable without a DTD and then does not know about "empty elements". This implies that in an XML template the empty source element looks like <source /> or <source></source>.

Thus, Chameleon can be right, provided it has a good reason to treat your template as an XML template (most Plone templates are XHTML templates, which means XML templates).