Date: 201911
Local time of day: 1801-2400
Location: DEN.Airport, CO
Flight conditions: VMC
Light: Dusk
Aircraft: Medium Large Transport
Operator: Air Carrier
Operating under: Part 121
Flight plan: IFR
Mission: Passenger
Flight phase: Initial Approach
Airspace: Class B DEN
ATC / advisory: TRACON D01
Reporter organization: Air Carrier
Reporter function: Pilot Flying; First Officer
Reporter qualification: Flight Crew Multiengine; Flight Crew Instrument; Flight Crew Air Transport Pilot (ATP)
Human factors: Communication Breakdown; Training / Qualification
Anomaly: ATC Issue All Types; Airspace Violation All Types; Conflict Ground Conflict; Less Severe; Deviation / Discrepancy - Procedural FAR; Deviation / Discrepancy - Procedural Published Material / Policy; Inflight Event / Encounter CFTT / CFIT
Detector: Automation Air Traffic Control; Person Air Traffic Control; Person Flight Crew
When detected: In-flight
Result: Air Traffic Control Issued Advisory / Alert; Flight Crew FLC complied w / Automation / Advisory; Flight Crew Returned To Clearance
Contributing factors: Airspace Structure; Procedure
Primary problem: Procedure

Narrative: The PM (Pilot Monitoring) reported the airport in sight at 9;000 ft. We were instructed to fly a 325 heading to intercept final and cleared for a visual approach to Runway 35R. At the assigned heading; we were on a track to intercept the approach course just outside FRONZ; the FAF for the ILS 35R. We were using the ILS to back-up our visual approach. My customary procedure is to commence a descent to the altitude of the first fix that I will pass after intercepting the LOC. Because we were not going to cross any fixes prior to FRONZ; I commenced a descent to the FAF altitude of 7;000 ft. Shortly after leveling at 7;000; [Approach] advised us of a low altitude alert. We had the ground and airport in sight; there was no risk of collision with terrain; so we proceeded to an uneventful landing. After arriving at the gate; we discussed whether the low altitude alert was a regulatory violation requiring a report. We didn't think that it was; but realized that the low altitude alert was almost certainly associated with a Class B excursion. The navigational setup that laid the groundwork was a vector so closely paralleling the final approach course. Our customary procedure of 'cleaning up the box' outside of whatever fix appears to be just inside our intercept point is designed to prevent exactly this sort of issue. Even on a visual; it gives us vertical guidance associated with an instrument approach. When vectored close to parallel to the final approach course; we lost the use of those fixes. Because airspace is so rarely an issue in airline flying; our flight deck avionics and EFBs are not at setup to give us easy situational awareness of surrounding Class B airspace. The other time this comes up is when departing a satellite airport under Class B airspace and the 200 kt. speed limit; e.g. SJC. That's a little easier to predict. We know with certainty that we will depart SJC under Class B airspace. Ideally; since we were anticipating a visual approach; we would have briefed the Class B shelves and how to stay above them even without reference to fixes on the final approach course. It just wasn't a threat we considered.Probably not much we can do about the close to parallel vector. ATC is going to do what they need to do for spacing. If ATC gave stepdown altitudes that kept aircraft on visual approaches inside the Class B; that would help; but I appreciate it's a lot of work. If I was using my personal iPad with Foreflight; I'd have a moving map with my present position overlaid on Class B airspace. That would be a huge step up in situational awareness. DEN still uses DME rings to definite its Class B airspace; but at many Class B airports that have received an airspace redesign; without a moving map there's no fast way to tell where you are relative to the shelves. If we had thought of it as a threat and briefed it as a threat; I would have come up with something to keep me higher. I could have done some pilot math to calculate a rough 3 degree path to FRONZ. I could have created a vertical direct to FRONZ. Neither of these is guaranteed to work since they're not referencing the actual position of Class B airspace; but they probably would have been enough.




Synopsis: Air carrier First Officer reported receiving a low altitude alert from ATC and a Class B airspace violation.