I think a "honeypot" HTML input field works well for anything not written explicitly to target your site. If any text is entered, mark as bot/spam.
<form>
<div style="display:none">
If you are human, please ignore this field:
<input type="text" name="Name" value="My Name">
</div>
Name:
<input type="text" name="actualfield">
</form>
Bots can't resist. Accessibility is fine, I think.(Edit: suggested earlier elsewhere in the thread by tyingq: https://news.ycombinator.com/item?id=23090550 )