-
Notifications
You must be signed in to change notification settings - Fork 848
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
makeId
should prepend an alphabetical character for HTML4
#635
Comments
We could do something like: export default function makeId() {
const id = Math.random().toString(36).slice(-8);
return /^\d/.test(id) ? 'x' + id : id;
} It feels a bit icky though. I'd be interested to hear @cjcenizal's thoughts. |
@pugnascotia I was actually aware of that issue when creating the service in the very first place. I just didn't expect that we have any UIs running, that can't be HTML5 compliant :D But I think we can just prefix every id with a letter |
|
The
makeId
utility generates a random DOM identifier, which is a mixture of alphanumeric characters. Sometimes this results in an identifier that starts with a number, which is not valid in HTML4 (but is in HTML5). This caused a problem in Cloud when integrating with Recurly, since the latter's code would choke on IDs that started with numbers. We were able to work around this by setting explicit IDs, however it would be nice to avoid this issue more widely by preventing it inmakeId
.See: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
The text was updated successfully, but these errors were encountered: