mirror of
https://github.com/rstudio/shiny.git
synced 2026-02-02 18:55:22 -05:00
I always thought dots and colons were illegal in HTML ID attributes, but I was wrong. They are legal and because they are commonly used in identifier names in R, Shiny users often like to use them. Worse, Shiny gave no warnings when using dots and only a pretty advanced subset of functionality would NOT work when using dots, causing everyone to think they were fully supported in Shiny. This commit ought to bring reality in line with perception. It turns out that jQuery has an escaping scheme in its queries that allow us to support dots after all. As long as we are always careful to surround IDs with $escape when putting them in a query, we'll be in good shape. Colons will probably still cause problems at the moment because we use colons internally to separate input type from input name. But we've never seen users try to use colon in IDs before, so we can wait to fix it until that becomes a problem.