<p dir="auto"><strong>Do you want to request a <em>feature</em> or report a <em>bug</em>?</strong><br>
Bug</p>
<p dir="auto"><strong>What is the current behavior?</strong><br>
The DOM property <code class="notranslate">dateTime</code> isn't converted to its lowercase attribute counterpart <code class="notranslate">datetime</code> for the <code class="notranslate">&lt;time&gt;</code> element when the element is rendered with <code class="notranslate">ReactDOMServer.renderToString()</code>.</p>
<p dir="auto"><strong>If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via <a href="https://jsfiddle.net" rel="nofollow">https://jsfiddle.net</a> or similar (template for React 16: <a href="https://jsfiddle.net/Luktwrdm/" rel="nofollow">https://jsfiddle.net/Luktwrdm/</a>, template for React 15: <a href="https://jsfiddle.net/hmbg7e9w/" rel="nofollow">https://jsfiddle.net/hmbg7e9w/</a>).</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="const React = require('react');
const ReactDOMServer = require('react-dom/server');

const markup = ReactDOMServer.renderToString(React.createElement('time', {
	dateTime: &quot;2017-11-02T20:49:25+01:00&quot;
}));
console.log(markup);"><pre class="notranslate"><code class="notranslate">const React = require('react');
const ReactDOMServer = require('react-dom/server');

const markup = ReactDOMServer.renderToString(React.createElement('time', {
	dateTime: "2017-11-02T20:49:25+01:00"
}));
console.log(markup);
</code></pre></div>
<p dir="auto">The above will print <code class="notranslate">&lt;time dateTime="2017-11-02T20:49:25+01:00" data-reactroot=""&gt;&lt;/time&gt;</code>.</p>
<p dir="auto"><strong>What is the expected behavior?</strong></p>
<p dir="auto">The above output should be <code class="notranslate">&lt;time datetime="2017-11-02T20:49:25+01:00" data-reactroot=""&gt;&lt;/time&gt;</code>.</p>
<p dir="auto"><strong>Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?</strong></p>
<p dir="auto">React 16.0.0<br>
React DOM 16.0.0<br>
Node v6.11.5</p>
<p dir="auto"><strong>Do you want to request a <em>feature</em> or report a <em>bug</em>?</strong></p>
<p dir="auto">Bug</p>
<p dir="auto"><strong>What is the current behavior?</strong></p>
<p dir="auto">ReactDOMServer generates camelCased markup for the <code class="notranslate">cellSpacing</code> and <code class="notranslate">cellPadding</code> attributes:</p>
<p dir="auto"><code class="notranslate">&lt;table cellSpacing="1" cellPadding="2"&gt;&lt;/table&gt;</code></p>
<p dir="auto">(Here's an example pen: <a href="https://codepen.io/anon/pen/jGBLdP" rel="nofollow">https://codepen.io/anon/pen/jGBLdP</a>)</p>
<p dir="auto">I believe these attributes are canonically lowercased. If I lowercase the attributes in JSX, React warns that I'm not using the right names:</p>
<p dir="auto"><code class="notranslate">Warning: Invalid DOM property `cellpadding`. Did you mean `cellPadding`?</code></p>
<p dir="auto"><strong>What is the expected behavior?</strong></p>
<p dir="auto">The attribute names would be rendered lowercase:</p>
<p dir="auto"><code class="notranslate">&lt;table cellspacing="1" cellpadding="2"&gt;&lt;/table&gt;</code></p>
<p dir="auto"><strong>Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?</strong></p>
<p dir="auto">This is in 16.0.0. Prior versions of React stripped these attributes.</p>