Touch position is in screen space. You need to transform from screen space to world space, then from world space to local space (relative to widget.transform.parent). You then get widget.localCorners, where corner[0] is bottom left and corner[2] is top-right. So (transformedTouchPosition - corner[0]) / (corner[2] - corner[0]).