HTML5/JavaScript supports both text to speech, and voice recognition, so that is probably the best option for web.
For mobile the Android API, and I assume iOS support tts and voice rec.
For JavaScript see,
http://updates.html5rocks.com/2014/01/Web-apps-that-talk—-Introduction-to-the-Speech-Synthesis-API
and,
http://shapeshed.com/html5-speech-recognition-api/
Chrome used to have a x-webkit option for voice rec in an input, but now uses the HTML5 javascript standard.
Only Chrome supports both of these so far that I know of.
BOT libre supports both tts and voice rec in Android and web. We use the Chrome HTML5 API for voice rec (only works on Chrome (click listen checkbox to activate in a bot chat session)), and we generate our own tts on our server using the Mary Java tts project. We also publish our own free tts JavaScript API.
http://botlibre.blogspot.ca/2014/11/add-speech-to-your-website-using-bot.html
Text to speech is very well established and I consider it a solved problem.
Voice rec, not so much.
I’m not sure if the problem is hardware or software. Replicating the ear may be the hardest part of voice rec. I’ve tried, Chrome, Android, Google, iOS voice rec, and none was that good I far as I am concerned. Perhaps I just don’t annunciate properly, or tend to mumble. I think we still have a ways to go before voice is solved. If your going to try voice rec, having a very high end microphone is a must.