The double Lions wing starred in the third and final Test against the Springboks this summer, scoring a brace of tries in the 28-9 win in Johannesburg, but has since experienced a stuttering first half of the new season.
The Wales veteran tore a hamstring in his country's defeat to Australia in late November and hasn't played since.
It had been feared that the 32-year-old would not be fit in time for the start of the Six Nations but his recovery is progressing better than expected.
"Shane is less than two weeks away from returning," said Ospreys director of rugby Scott Johnson.
Williams will miss the Magners League Boxing Day clash with the Scarlets and the New Year's Day encounter with the Blues but he could now feature against Ulster at Ravenill on January 8.
Williams, who has played Celtic League rugby with the Ospreys since their formation in 2003, is just one game shy of 60 Magners League appearances.
He currently has 57 starts and two substitute appearances to his name and has scored 24 tries and 123 points in that time.
The former scrum-half first toured with the Lions in 2005, winning a Test cap against the All Blacks in Wellington.
He was again selected for the 2009 tour of South Africa, where he won two more caps and played a total of eight times on a memorable 10-match adventure.