The easiest and almost foolproof way to connect to an Arduino board through WiFi is to use an Ethernet Shield connected to a little WiFi pocket router such as the TP-Link TL WR702n. That little router comes out of the box in AP mode and you can connect to it immediately.
Aside from being a bit more bulky than a WiFi shield it has many advantages that NO currently available WiFi shed or module offers.
One of them is that it is VERY reliable. I have used this in several projects that have been in continuous operation for months (it would be years if not for the occasional power outages in my area).
Another one is that you can use the normal Ethernet library that is very mature and battle hardened.
Naturally it supports WPS,WPA etc.