The tap gesture recognizer requires a custom locationInElement() implementation since there are no touches left to query when the gesture is recognized.