Charlton went 2-0 up thanks to Bradley Pritchard's first-minute strike and an own goal by Rhys Williams, but Marvin Emnes and Scott McDonald scored in the final quarter of the match to snatch a point.
Hull City failed to seal automatic promotion to the Premier League after it was beaten 2-0 by Barnsley.
Hull's final game of the regular season, in which a win will still mean automatic promotion, is at home to Cardiff City next weekend.
The result meant Barnsley briefly climbed out of the relegation zone but it later found itself back in the bottom three after Peterborough United's 1-0 win over Sheffield Wednesday.
McCann curled in a brilliant effort from 30 yards to settle a scrappy game that saw Posh move above Barnsley on goal difference.
Barnsley plays its final game of the season against Huddersfield Town next weekend while Peterborough faces Crystal Palace.
Wolverhampton Wanderers remains in the bottom three as its 2-1 defeat by 10-man Burnley at Molineux sparked a pitch invasion by disgruntled fans.
A late goal at Elland Road saw 10-man Brighton beat nine-man Leeds United to secure a play-off place for
Meanwhile, Crystal Palace played out a 1-1 draw at Blackburn Rovers as it missed the chance to all but secure its play-off place.
Vaughan scored twice in the first half and again in the 64th minute, with
Bolton Wanderers held champion Cardiff City to a 1-1 draw at the
Elsewhere, Nottingham Forest beat Millwall 1-0 to remain just outside of the play-off places on goal difference to sixth-placed Bolton thanks to
Ipswich Town moved level on points with Birmingham City after its 3-1 home win.
Blackpool claimed a 2-1 home win over Derby County but it could have been more as