<p>I have a website in which I provide tool-tips for certain things using a hidden <code>&lt;span&gt;</code> tag and JavaScript to track various mouse events. It works excellently. This site somewhat caters towards people with vision issues, so I try to make things degrade as well as possible if there is no JavaScript or CSS and generally I would say that it is successful in this regard.</p>

<p>So my question is, is it possible for these <code>&lt;span&gt;</code> to only exist if CSS is being used? I have thought about writing out the tool-tips in JavaScript on document load. But I was wondering if there is a better solution.</p>

Perhaps you need to re-think the way you are providing tooltips.  Could the content be contained in the title attribute of a semantically appropriate element?
EDIT: If you provide more info, someone might be able to suggest more of a solution.  What sorts of elements are the tooltips popping up on?  Images?  Would the abbreviation tags be appropriate?
Quick Solution I just came up with:
```
<span>
```
has access to the
core attributes
, which include title, so you could include the tooltip text in the title, and use a javascript library like jQuery to display tooltips for all spans with a title.