I've created a UISlider with background, foreground and thumb sprites. All three of them have Box Colliders. When I hit Play, I can drag the thumb and it responds, I can click or drag in the background area (the black area on the right) and it responds, but when I click or drag on the foreground area of the slider (the blue area to the left) it doesn't respond.

I noticed in the Inspector that my thumb and background sprite gameobjects are having UIEventListener.Get() called on them, but the foreground sprite isn't getting any event listener added. Here is what I think is the relevant code in UISlider.cs:
protected override void OnStart ()
{
GameObject bg = (mBG != null && mBG.collider != null) ? mBG.gameObject : gameObject;
UIEventListener bgl = UIEventListener.Get(bg);
bgl.onPress += OnPressBackground;
bgl.onDrag += OnDragBackground;
if (thumb != null && thumb.collider != null && (mFG == null || thumb != mFG.cachedTransform))
{
UIEventListener fgl = UIEventListener.Get(thumb.gameObject);
fgl.onPress += OnPressForeground;
fgl.onDrag += OnDragForeground;
}
}
Why isn't the foreground sprite registering to receive events?
Thanks in advance!