For the longest time I have really overlooked the spell checking functionality in SharePoint. This was mainly due to my unreliable experiences with it on publishing pages. Each time I checked in a page it was common to receive a dialog reporting a huge number of spelling errors.

But I KNOW that this page is a masterpiece, how could there possibly be 105 spelling errors? Well a bit of Googling brought me to an article written by Morten Schioldan – http://blogs.msdn.com/b/mortens/archive/2011/12/09/gazillion-spelling-errors-on-blank-pages.aspx
This article indicates that the contact field control was the cause for these errors. If a contact field is included in a page layout the spell checker runs over the code for this control rather than it naturally getting excluded.
This is where JavaScript comes to the rescue. In the page layout wrap your contact field with the following div.
<div id="excludeContentFromSpellCheck">
[FORM FIELD HERE]
...
</div>
Next step is to add the following JavaScript at the top of your PlaceHolderMain:
<script type="text/javascript">
window.onload = function()
{
var a = document.getElementById('excludeContentFromSpellCheck');
var b = a.getElementsByTagName('input');
for (var i = 0; i < b.length; i++)
{
b[i].setAttribute("excludeFromSpellCheck", "true");
}
var c= a.getElementsByTagName('textarea');
for (var i = 0; i < c.length; i++)
{
c[i].setAttribute("excludeFromSpellCheck", "true");
}
};
</script>
Source: http://blog.cube4.com.au/?p=1016