教育课程、伦敦政治经济学院工会学。曾担任香港特别行政区基本法起草委员会委员。1985年至1995年任劳工界立法局议员，1995年于地区直选（九龙东南）角逐连任时以28,009票不敌另一位候选人李华明的30,133票而连任失败。1996年12月当选为临时立法会议员，1997年7月1日至2002年6月30日任行政会议成员。自1998年起，参选新界西选区，连续四届当选立法会议员。当中，2000年与乡事派的代表、港进联的邓兆棠合作组成竞选名单双双当选；2004年在一片对民建联不利的低气压下，与党内的新界社团联会会