Это должно работать, если вы хотите использовать foreignObject, поскольку он объединяет содержимое HTML ...
<switch>
<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" requiredExtensions="http://www.w3.org/1999/xhtml">
<foreignObject >
</foreignObject>
</g>
<text font-size="10" font-family="Verdana">
No foreignObject
</text>
</switch>
requiredExtensions часть proposed to w3c и this was their response. Firefox действительно реализует это, но я ничего не тестировал. Вы можете уйти с атрибутом требуемых атрибутов, как предлагает Эрик.
Если вы хотите проверить в JavaScript попробовать
var supported = document.implementation.hasFeature("www.http://w3.org/TR/SVG11/feature#Extensibility","1.1"); –
Просто чтобы быть ясным: 'createSVGRect()' не создает прямой элемент, он создает прямой объект. Для создания элементов просто используйте 'document.createElementNS (...)'. –