Air carrier Captain reported the aircraft was flaring for the landing at SFO Runway 28R and noticed what looked to be an aircraft crossing the runway. The apparent conflict aircraft was actually on Taxiway Z; and the Tower stated there was no requirement to advise landing aircraft.
Synopsis
Air carrier Captain reported the aircraft was flaring for the landing at SFO Runway 28R and noticed what looked to be an aircraft crossing the runway. The apparent conflict aircraft was actually on Taxiway Z; and the Tower stated there was no requirement to advise landing aircraft.
Narrative
I was PM and my FO was PF for this leg. We had a completely normal flight; up until the landing. As we were in the flare for 28R; a plane began to taxi at the west end of the airport from south to north on Taxiway Z. Both myself and my FO began to believe that the plane was crossing the runway we were landing on; since we were in the flare and had no depth perception of exactly how far down the other airplane was. I then had to make the split decision of either to go around or continue the landing. During this thought process we touched down; and even though I did not know if the other plane was on the runway; I knew we had more than enough space to stop; and took the controls from the FO after touchdown and quickly slowed the airplane and taxied off the runway. My FO then asked ATC if that other plane was on the runway; and they advised it was on Taxiway Z. My FO then; while a little upset over the incident; suggested next time they should tell landing crews that a plane will be crossing on Taxiway Z as just a heads-up. The controller then seemingly somewhat annoyed replied that they have no obligation to advise us of traffic crossing on the taxiway. While this was a somewhat stressful event; we operated the aircraft safely at all times; and did not exceed any limitations or have any issues afterwards.
Source: NASA Aviation Safety Reporting System (public domain). Reports are voluntary submissions and are not verified by NASA.